Comparar duas tabelas e localizar registros sem correspondências

Às vezes, convém comparar duas tabelas e identificar registros em uma das tabelas que não tenham registros coincidentes na outra tabela. A maneira mais fácil de identificar esses registros é usar o Assistente de consulta localizar não coincidente. Depois que o assistente cria sua consulta, você pode modificar o design dela para adicionar ou remover campos ou para adicionar as junções entre as duas tabelas (para indicar campos cujos valores devem coincidir). Você também pode criar sua própria consulta para localizar registros não coincidentes, sem usar o assistente.

Este artigo mostra como iniciar e executar o Assistente de consulta localizar não coincidente, como modificar os resultados do assistente e como criar sua própria consulta para localizar registros não coincidentes.

Observação : Não há suporte para o Assistente de consulta localizar não coincidente em aplicativos Web do Access ou bancos de dados da Web.

Neste artigo

Quando devo procurar registros não coincidentes?

Usar o Assistente de consulta localizar não coincidente para comparar duas tabelas

Criar e modificar uma Consulta localizar não coincidente para comparar mais de um campo

Criar sua própria consulta para localizar registros não coincidentes

Quando devo procurar registros não coincidentes?

Duas circunstâncias comuns estão descritas a seguir, para as quais talvez seja necessário comparar duas tabelas e localizar registros não coincidentes. Dependendo da circunstância, localizar registros não coincidentes pode ser a primeira de várias etapas que você deseja tomar. Este artigo aborda somente localizar registros não coincidentes.

  • Use uma tabela para armazenar dados sobre um item (um produto, por exemplo) e outra tabela para armazenar dados sobre ações (por exemplo, pedidos) relacionados a esse item.    

    Por exemplo, no modelo de banco de dados Northwind, os dados sobre produtos são armazenados na tabela Produtos e os dados sobre quais produtos são incluídos em cada pedido são armazenados na tabela Detalhes do Pedido. Como (intencionalmente) não há nenhum dado sobre pedidos na tabela Produtos, não é possível, examinando simplesmente a tabela Produtos, determinar quais produtos nunca foram vendidos. Também não é possível determinar essas informações examinando somente a tabela Detalhes do Pedido, pois ela inclui apenas os produtos que foram vendidos. Você deve comparar as duas tabelas para determinar quais produtos nunca foram vendidos.

    Para analisar a lista de registros da primeira tabela para os quais não há ações coincidentes na segunda tabela, use a Consulta localizar não coincidente.

  • Você tem duas tabelas contendo informações sobrepostas, redundantes ou conflitantes e deseja consolidá-las em uma única tabela.    

    Por exemplo, vamos supor que você tenha uma tabela denominada Consumidores e outra tabela denominada Clientes. As tabelas são praticamente idênticas, mas uma delas ou ambas contêm alguns registros que a outra não tem. Para consolidar as tabelas, primeiro determine quais registros são exclusivos em uma das tabelas.

    Se esse for o caso, os métodos descritos neste artigo poderão ajudar, mas provavelmente haverá mais etapas a serem executadas. Você pode executar o Assistente de consulta localizar não coincidente para identificar os registros não coincidentes, porém, se for preciso recuperar o conjunto combinado de registros, use os resultados para criar uma consulta união. Se estiver familiarizado com as instruções Structured Query Language (SQL), você possivelmente preferirá esquecer o Assistente de consulta localizar não coincidente e escrever a consulta união manualmente

    Em geral, você pode resolver o problema de informações sobrepostas, redundantes ou conflitantes por meio da procura de dados duplicados em duas ou mais tabelas.

Para ver mais informações sobre consultas união ou sobre como localizar, ocultar ou eliminar dados duplicados, clique nos links na seção Confira também.

Observação : Os exemplos deste artigo usam um banco de dados criado usando o modelo de banco de dados Northwind.

Mostrar como configurar o Northwind

  1. Na guia Arquivo, clique em Novo. Observação: se você estiver usando o Access 2007, clique no Botão do Microsoft Office imagem do botão Office e em Novo.

  2. Dependendo da sua versão do Access, você pode pesquisar Northwind na caixa de pesquisa ou no painel esquerdo. Em Categorias de modelo, clique em Modelos locais.

  3. Em Modelos locais, clique em Exemplo Northwind 2007 e em Criar.

  4. Siga as instruções na página Northwind Traders (na guia de objeto Tela de Inicialização) para abrir o banco de dados e então feche a janela Caixa de Diálogo de Logon.

Início da página

Usar o Assistente de Consulta Localizar Não Coincidente para comparar duas tabelas

  1. Na guia Criar, no grupo Consultas, clique em Assistente de Consulta. Observação: se você estiver usando o Access 2007, na guia Criar, no grupo Outro, clique em Assistente de Consulta.

    O grupo Consultas na faixa de opções do Access exibe duas opções: Assistente de Consulta e Design de Consulta
  2. Na caixa de diálogo Nova Consulta, clique duas vezes em Assistente de consulta localizar não coincidente.

  3. Na primeira página do assistente, selecione a tabela que contém os registros não coincidentes e clique em Avançar. Por exemplo, se você quiser ver uma lista dos produtos Northwind que nunca foram vendidos, selecione a tabela Produtos.

    Selecione uma tabela ou consulta na caixa de diálogo Assistente de consulta localizar não coincidente
  4. Na segunda página, selecione a tabela relacionada e clique em Avançar. Para seguir o exemplo, selecione a tabela Detalhes do Pedido.

    Selecione uma tabela ou consulta que contenha os registros relacionados na caixa de diálogo Assistente de consulta localizar não coincidente
  5. Na terceira página, selecione os campos que relacionam as tabelas, clique em < = > e clique em Avançar. Você pode escolher apenas um campo em cada tabela. Para seguir o exemplo, selecione ID na tabela Produtos e ID do Produto na tabela Detalhes do Pedido. Verifique se os campos corretos são correspondentes revisando o texto na caixa Campos coincidentes.

    Selecione os campos correspondentes das tabelas na caixa de diálogo Assistente de consulta localizar não coincidente

    Observe que os campos ID e ID do Produto possivelmente já estarão selecionados devido às relações existentes criadas para o modelo.

  6. Na quarta página, clique duas vezes nos campos que você deseja ver na primeira tabela e clique em Avançar. Para seguir o exemplo, selecione os campos ID e Nome do Produto.

    Selecione os campos que você deseja ver nos resultados da consulta na caixa de diálogo Assistente de consulta localizar não coincidente
  7. Na quinta página, você pode optar por exibir os resultados ou modificar o design da consulta. Nesse exemplo, clique em Exibir os resultados. Aceite o nome sugerido para a consulta e clique em Concluir.

    Insira um nome para a sua consulta não coincidente na caixa de diálogo Assistente de consulta localizar não coincidente

    Convém modificar o design da consulta para adicionar outros critérios, para alterar a ordem de classificação ou para adicionar ou remover campos. Para ver informações sobre como modificar uma consulta Localizar não coincidente, leia a seção a seguir. Para ver mais informações gerais sobre como criar e modificar consultas, confira os links na seção Confira também.

Início da página

Criar e modificar uma Consulta localizar não coincidente para comparar mais de um campo

  1. Na guia Criar, no grupo Consultas, clique em Assistente de Consulta. Observação: se você estiver usando o Access 2007, na guia Criar, no grupo Outro, clique em Assistente de Consulta.

  2. Na caixa de diálogo Nova Consulta, clique duas vezes em Assistente de consulta localizar não coincidente.

  3. Na primeira página do assistente, selecione a tabela que contém os registros não coincidentes e clique em Avançar. Por exemplo, se você quiser ver uma lista dos produtos Northwind que nunca foram vendidos, selecione a tabela Produtos.

  4. Na segunda página, selecione a tabela relacionada e clique em Avançar. Para seguir o exemplo, selecione a tabela Detalhes do Pedido.

  5. Na terceira página, selecione os campos que relacionam as tabelas, clique em < = > e clique em Avançar. Você pode escolher apenas um campo em cada tabela. Para seguir o exemplo, selecione ID na tabela Produtos e ID do Produto na tabela Detalhes do Pedido. Verifique se os campos corretos são correspondentes revisando o texto na caixa Campos coincidentes. Você pode associar os demais campos depois de concluir o assistente.

    Observe que os campos ID e ID do Produto possivelmente já estarão selecionados devido às relações existentes criadas para o modelo.

  6. Na quarta página, clique duas vezes nos campos que você deseja ver na primeira tabela e clique em Avançar. Para seguir o exemplo, selecione os campos ID e Nome do Produto.

  7. Na quinta página, clique em Modificar o design e em Concluir.

    A consulta abre no modo de exibição Design.

  8. Na grade de design da consulta, observe que as duas tabelas são unidas pelos campos (neste exemplo, ID e ID do Produto) especificados na terceira página do assistente. Crie uma junção para cada par restante de campos relacionados arrastando-os da primeira tabela (a tabela que contém os registros não coincidentes) para a segunda. Nesse exemplo, arraste o campo Preço de Lista da tabela Produtos para o campo Preço Unitário da tabela Detalhes do Pedido.

  9. Clique duas vezes em uma junção (a linha que conecta os campos) para exibir a caixa de diálogo Propriedades da Junção. Em cada junção, escolha a opção que inclua todos os registros da tabela Produtos e então clique em OK.

    Na grade de design da consulta, observe que cada junção agora tem uma seta em uma das extremidades.

    O tipo de junção é indicado pelo estilo da linha

    1. Quando você cria a junção dos campos Preço de Lista e Preço Unitário, ela restringe os resultados nas duas tabelas. Somente os registros com dados coincidentes nos campos de ambas as tabelas são incluídos nos resultados da consulta.

    2. Após editar as propriedades da junção, ela restringirá somente a tabela indicada pela seta. Todos os registros da tabela da qual parte a seta serão incluídos nos resultados da consulta.

    Observação : Verifique se todas as setas nas junções apontam para a mesma direção.

  10. Para a tabela que contém os registros relacionados (nesse exemplo, a tabela Detalhes do Pedido), clique duas vezes em cada campo unido à primeira tabela, mas sem incluir o campo que você escolheu na terceira página do assistente (nesse caso, o campo ID do Produto). Em cada um desses campos, desmarque a caixa de seleção na linha Mostrar e digite É Nulo na linha Critérios.

  11. Se desejar, adicione critérios aos outros campos da consulta ou crie campos calculados que sejam baseados nos valores da primeira tabela.

  12. Na guia Design, no grupo Resultados, clique em Executar.

    A consulta retornará os nomes de produtos que não fizerem parte de nenhum pedido existente.

Início da página

Criar sua própria consulta para localizar registros não coincidentes

  1. Na guia Criar, no grupo Consultas, clique em Design da Consulta. Observação: se você estiver usando o Access 2007, na guia Criar, no grupo Outro, clique em Design da Consulta.

  2. Na caixa de diálogo Mostrar Tabela, clique duas vezes na tabela que contém registros não coincidentes e clique duas vezes na tabela que contém os registros relacionados.

  3. Feche a caixa de diálogo Mostrar Tabela.

  4. Na grade de design da consulta, as duas tabelas devem ter linhas, chamadas de junções, conectando-as por seus campos relacionados. Se não houver junções, crie-as arrastando cada campo relacionado da primeira tabela (a tabela que tem registros não coincidentes) para a segunda (a tabela que tem os registros relacionados).

  5. Clique duas vezes em uma junção para abrir a caixa de diálogo Propriedades da Junção. Em cada junção, escolha a opção 2 e clique em OK.

    Na grade de design da consulta, as junções são alteradas para que eles tenham setas em uma ponta.

    Observação : Verifique se todas as junções estão apontando para a mesma direção. A consulta não será executada se as junções apontarem para direções diferentes e possivelmente não será executada se uma das junções não for uma seta. As junções devem vir da tabela que contém os registros não coincidentes.

  6. Na tabela que tem registros não coincidentes, clique duas vezes nos campos que você deseja retornar.

    Opcionalmente, insira critérios para qualquer um desses campos ou crie campos calculados.

  7. Na tabela que contém os registros relacionados, clique duas vezes em cada campo unido à primeira tabela. Em cada um dos campos, desmarque a caixa na linha Mostrar e digite É Nulo na linha Critérios.

  8. Na guia Design, no grupo Resultados, clique em Executar.

Início da página

Consulte Também

Criar uma consulta de seleção simples

Localizar registros duplicados com uma consulta

Usar uma consulta união para combinar várias consultas em um único resultado

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

Essas 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.

×