Como Criar uma Consulta de Tabela de Referência Cruzada com Vários Campos Valor

Moderado: Requer conhecimentos básicos de macro, codificação e interoperabilidade.

Este artigo se aplica somente a um banco de dados do Microsoft Access (.mdb).

Para obter uma versão deste artigo do Microsoft Access 2000, consulte
209143.

Sumário

Em uma consulta de tabela de referência cruzada, você pode especificar apenas um campo ou cálculo como o valor. Talvez você queira visualizar mais de um valor na consulta.

O exemplo a seguir mostra duas colunas de informações por empresa, um levantamento do número de pedidos e o total de pedidos em cada ano:
Nome da Empresa Pedidos (1998) Total (1998) Pedidos (1999) Total (1999)
--------------------------------------------------------------
ABC Company 12 $855,00 15 $1010,25
XYZ Company 1017 $22045,57 1050 $25345,29
Esse tipo de consulta às vezes é chamado de consulta com vários campos Valor.

Mais Informações

Para criar uma consulta de tabela de referência cruzada com vários campos Valor, você deve criar uma consulta de tabela de referência cruzada para cada valor que você deseja calcular. Assim, você pode usar uma consulta de seleção para acessar essas consultas de tabela de referência cruzada e exibir os resultados desejados.

O seguinte exemplo usa o banco de dados de exemplo Northwind.mdb para criar uma consulta que exibe resultados similares ao exemplo mostrado na seção "Sumário" deste artigo. Ele mostra o número de vendas e o total referente a cada ano de cada empresa.

  1. Abra o banco de dados de exemplo Northwind.mdb, e crie a seguinte consulta de tabela de referência cruzada com base nas tabelas Pedidos, Detalhes do pedido e Clientes:
    Query: Order Total
    ------------------
    Type: Crosstab Query
    Join: Customers.[CustomerID] <-> Orders.[CustomerID]
    Join: Orders.[OrderID] <-> Order Details.[OrderID]

    Field: CompanyName
    Table Name: Customers
    Total: Group By
    Crosstab: Row Heading

    Field: Expr1: Year([OrderDate]) & " " & "Order Total"
    Table Name:
    Total: Group By
    Crosstab: Column Heading

    Field: Expr2: Sum(CCur([UnitPrice]*[Quantity]*(1-[Discount])))
    Table Name:
    Total: Expression
    Crosstab: Value

  2. Salve essa consulta como Order Total.

  3. Crie a seguinte consulta de tabela de referência cruzada com base nas tabelas Pedidos e Clientes:
    Query: Order Count
    ------------------
    Type: Crosstab Query
    Join: Customers.[CustomerID] <-> Orders.[CustomerID]

    Field: CompanyName
    Table Name: Customers
    Total: Group By
    Crosstab: Row Heading

    Field: Expr1: Year([OrderDate]) & " " & "Order Count"
    Table Name:
    Total: Group By
    Crosstab: Column Heading


    Field: OrderID
    Table Name: Orders
    Total: Count
    Crosstab: Value

  4. Salve essa consulta como Order Count.

  5. Crie uma consulta com base nas consultas de tabela de referência cruzada Order Total e Order Count. Use os campos CompanyName, Order Total e Order Count para os anos cujos resultados você deseja ver. O seguinte exemplo usa os últimos dois anos de Order Total e Order Count no Microsoft Access.
    Query: Multiple Values
    ----------------------
    Join: Order Total.[CompanyName] <-> Order Count.[CompanyName]

    Field: CompanyName
    Table Name: Order Count

    Field: 1997 Order Count
    Table Name: Order Count

    Field: 1997 Order Total
    Table Name: Order Total

    Field: 1998 Order Count
    Table Name: Order Count

    Field: 1998 Order Total
    Table Name: Order Total

  6. Ao executar a consulta com vários valores, você verá uma tabela semelhante à seguinte:
    1997 Order 1997 Order 1998 Order 1998 Order
    Company Name Count Total Count Total
    --------------------------------------------------------------------
    Alfred's Futterkiste 3 $2.022,50 3 $2.022,50
    Ana Trujillo 2 $799,75 1 $514,10
    Antonio Moreno 5 $5.960,78 1 $660,00
    NOTA: Você deve adicionar o nome da tabela à expressão no caso do campo especificado para a concatenação ser um campo em mais de uma tabela associada à consulta. Por exemplo, no passo 1, você alteraria:
    Year([OrderDate]) & " " & "Order Total"
    para:
    Year([Orders].[OrderDate]) & " " & "Order Total"
    Se adicionar o nome da tabela à linha Table, você gera um erro de sintaxe. Se deixar o nome da tabela fora, você gera um erro de referência ambígua.

Referências

Para obter mais informações sobre as consultas de tabela de referência cruzada, clique em Ajuda do Microsoft Access no menu Ajuda, digite crosstab queries no Assistente do Office ou no Assistente de resposta, e clique em Procurar para visualizar os tópicos retornados.

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×