Partilhar via


Exemplo de formatação de dados

O comando de formatação de dados a seguir demonstra como criar um Recordset hierárquico das tabelas Clientes e Pedidos no banco de dados Northwind.

SHAPE {SELECT CustomerID, ContactName FROM Customers}   
APPEND ({SELECT OrderID, OrderDate, CustomerID FROM Orders} AS chapOrders   
RELATE customerID TO customerID)   

Quando esse comando é usado para abrir um objeto Recordset (conforme mostrado no Exemplo Visual Basic de Modelagem de Dados), ele cria um capítulo (chapOrders) para cada registro retornado da tabela Customers . Este capítulo consiste em um subconjunto do conjunto de registros retornado da tabela Orders . O capítulo chapOrders contém todas as informações solicitadas sobre os pedidos feitos pelo cliente especificado. Neste exemplo, o capítulo consiste em três colunas: OrderID, OrderDate e CustomerID.

As duas primeiras entradas do conjunto de registros em forma resultante são as seguintes:

ID do Cliente ContactName ID do Pedido Data do Pedido ID do Cliente
ALFKI Maria Ander 10643

10692

10702

10835

10952

11011
1997-08-25

1997-10-03

1997-10-13

1998-01-15

1998-03-16

1998-04-09
ALFKI

ALFKI

ALFKI

ALFKI

ALFKI

ALFKI
ANATR Ana Trujillo 10308

10625

10759

10926
1996-09-18

1997-08-08

1997-11-28

1998-03-04
ANATR

ANATR

ANATR

ANATR

Em um comando SHAPE, APPEND é usado para criar um Conjunto de Registros filho relacionado ao conjunto de registros pai (conforme retornado do comando específico do provedor imediatamente após a palavra-chave SHAPE que foi discutida anteriormente) pela cláusula RELATE. O pai e o filho normalmente têm pelo menos uma coluna em comum: o valor da coluna em uma linha do pai é o mesmo que o valor da coluna em todas as linhas do filho.

Há uma segunda maneira de usar comandos SHAPE: isto é, gerar um Recordset pai a partir de um Recordset filho. Os registros no conjunto de registros filho são agrupados, normalmente usando a cláusula BY, e uma linha é adicionada ao conjunto de registros pai para cada grupo resultante no filho. Se a cláusula BY for omitida, o conjunto de registros filho formará um único grupo e o conjunto de registros pai conterá exatamente uma linha. Isso é útil para calcular agregações de "total geral" em todo o conjunto de registros filho.

O comando SHAPE também permite que você crie programaticamente um Recordset estruturado. Em seguida, você pode acessar os componentes do Recordset programaticamente ou por meio de um controle visual apropriado. Um comando de forma é emitido como qualquer outro texto de comando do ADO. Para obter mais informações, consulte Comandos de Formas em Geral.

Independentemente da forma como o Recordset pai é formado, ele conterá uma coluna de capítulo que é usada para relacioná-lo a um Recordset filho. Se desejar, o Recordset pai também pode ter colunas que contêm agregações (SOMA, MIN, MAX e assim por diante) sobre as linhas filho. Tanto o Recordset pai quanto o filho podem ter colunas que contêm uma expressão na linha no Recordset, assim como colunas que são novas e inicialmente vazias.

Esta seção continua com o tópico a seguir.