Como criar uma consulta de referência cruzada com campos de múltiplos valores

Traduções de Artigos Traduções de Artigos
Artigo: 304458 - Ver produtos para os quais este artigo se aplica.
Moderado: Requer conhecimentos básicos sobre macros, programação e interoperabilidade.

Este artigo aplica-se apenas a uma base de dados do Microsoft Access (.accdb e .mdb). Para obter uma versão deste artigo referente ao Microsoft Access 2000, consulte 209143 .
Para obter uma versão deste artigo referente ao Microsoft Access 97, consulte 109939.
Expandir tudo | Reduzir tudo

Sumário

Numa consulta de referência cruzada, pode especificar apenas um campo ou cálculo como o valor. Poderá pretender mostrar mais que um valor na consulta.

O seguinte exemplo mostra duas colunas de informações por empresa, uma contagem do número de encomendas e o total de encomendas para cada ano:
   Nome da empresa Encomendas 1998  Total 1998  Encomendas 1999  Total 1999
   ------------------------------------------------------------------------
   Empresa ABC     12               ?855,00     15               ?1010,25
   Empresa XYZ     1017             ?22045,57   1050             ?25345,29
				
Este tipo de consulta é por vezes designada por consulta Campo de Múltiplos Valores.

Mais Informação

Para criar uma consulta de referência cruzada de campo de múltiplos valores, tem de criar uma consulta de referência cruzada para cada valor que pretenda calcular. Pode utilizar uma consulta de selecção para relacionar estas consultas de referência cruzada para apresentar os resultados pretendidos.

O exemplo seguinte utiliza a base de dados Adamastor.mdb para criar uma consulta que apresenta resultados semelhantes ao exemplo da secção "Sumário", anteriormente neste artigo. Mostra o número de vendas e o total de cada ano em relação a cada empresa.
  1. Abra a base de dados de exemplo Adamastor.mdb e, em seguida, crie a seguinte consulta de referência cruzada baseada nas tabelas Encomendas, Detalhes da Encomenda e Clientes:
       Consulta: Total de encomendas
       -----------------------------
       Tipo: Consulta de referência cruzada
       Associar: Clientes.[CódigoDoCliente] <-> Encomendas.[CódigoDoCliente]
       Associar: Encomendas.[CódigoDaEncomenda] <-> Detalhes da Encomenda.[CódigoDaEncomenda]
    
       Campo: NomeDaEmpresa
          Nome da tabela: Clientes
          Total: Agrupar por
          Referência cruzada: Título da linha
    
       Campo: Expr1: Ano([DataDaEncomenda]) & " " & "Total de encomendas"
          Nome da tabela:
          Total: Agrupar por
          Referência cruzada: Cabeçalho da coluna
    
      Campo: Expr2: Soma(CMoeda([PreçoUnitário]*[Quantidade]*(1-[Desconto])))
          Nome da tabela:
          Total: Expressão
          Referência cruzada: Valor
    					
  2. Guarde esta consulta como Total de encomendas.
  3. Crie a seguinte consulta de referência cruzada com base nas tabelas "Encomendas" e "Clientes":
       Consulta: Número de encomendas
       ------------------------------
       Tipo: Consulta de referência cruzada
       Associar: Clientes.[CódigoDoCliente] <-> Encomendas.[CódigoDoCliente]
    
       Campo: NomeDaEmpresa
          Nome da tabela: Clientes
          Total: Agrupar por
          Referência cruzada: Título da linha
    
       Campo: Expr1: Ano([DataDaEncomenda]) & " " & "Total de encomendas"
          Nome da tabela:
          Total: Agrupar por
          Referência cruzada: Cabeçalho da coluna
    
    
       Campo: IDDaEncomenda
          Nome da tabela: Encomendas
          Total: Contagem
          Referência cruzada: Valor
    					
  4. Guarde esta consulta como Número de encomendas.
  5. Crie uma consulta com base nas consultas de referência cruzada "Total de encomendas" e "Número de encomendas". Utilize os campos "NomeDaEmpresa", "Total encomendas" e "Nº encomendas" para os anos de que pretende ver os resultados. O exemplo seguinte utiliza os dois últimos anos de "Total de encomendas" e "Número de encomendas" do Microsoft Access.
       Consulta: Valores múltiplos
       ---------------------------
       Associar: Total de encomendas.[NomeDaEmpresa] <-> Número de encomendas.[NomeDaEmpresa]
    
       Campo: NomeDaEmpresa
          Nome da tabela: Número de encomendas
    
       Campo: Número de encomendas 1997
          Nome da tabela: Número de encomendas
    
       Campo: Total de encomendas 1997
          Nome da tabela: Total de encomendas
    
       Campo: Número de encomendas 1998
          Nome da tabela: Número de encomendas
    
       Campo: Total de encomendas 1998
          Nome da tabela: Total de encomendas
    					
  6. Quando executar a consulta "Múltiplos valores", verá uma tabela semelhante à seguinte:
                             Nº encomendas  Total encomendas  Nº encomendas  Total encomendas
       Nome da empresa            1997            1997             1998            1998 
       --------------------------------------------------------------------------------------
       Alfreds 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: tem de adicionar o nome da tabela à expressão, se o campo especificado para a concatenação existir em mais do que uma das tabelas associadas à consulta. Por exemplo, no passo 1 alteraria:
       Ano([DataDaEncomenda]) & " " & "Total de encomendas"
    					
    para:
       Ano([Encomendas].[DataDaEncomenda]) & " " & "Total de encomendas"
    					
    Se adicionar o nome da tabela à linha Tabela, gerará um erro de sintaxe. Se deixar o nome da tabela em branco, gerará um erro de referência ambígua.

Referências

Para obter mais informações sobre consultas de referência cruzada, clique em Ajuda do Microsoft Access no menu Ajuda, escreva consultas de referência cruzada no Assistente do Office ou no Assistente de respostas e, em seguida, clique em Procurar para visualizar os tópicos encontrados.

Propriedades

Artigo: 304458 - Última revisão: 6 de dezembro de 2007 - Revisão: 6.3
A informação contida neste artigo aplica-se a:
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
Palavras-chave: 
kbquery kbhowto KB304458

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com