Às vezes, talvez você queira comparar duas tabelas em Access e identificar registros em uma das tabelas que não têm registros correspondentes 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.
Neste artigo
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
-
Na guia Arquivo, clique em Novo.
-
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.
-
Em Modelos locais, clique em Exemplo Northwind 2007 e em Criar.
-
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.
Usar o Assistente de Consulta Localizar Não Coincidente para comparar duas tabelas
-
Na guia Criar, no grupo Consultas, clique em Assistente de Consulta.
-
Na caixa de diálogo Nova Consulta, clique duas vezes em Assistente de consulta localizar não coincidente.
-
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.
-
Na segunda página, selecione a tabela relacionada e clique em Avançar. Para seguir o exemplo, selecione a tabela Detalhes do Pedido.
-
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.
Observe que os campos ID e ID do Produto possivelmente já estarão selecionados devido às relações existentes criadas para o modelo.
-
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.
-
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.
Talvez você queira modificar o design da consulta para adicionar outros critérios, alterar a ordem de classificação ou adicionar ou remover campos. Para obter informações sobre como modificar uma consulta Localizar Incompatível, leia a seção a seguir; ou, para obter informações mais gerais sobre como criar e modificar consultas, consulte os links na seção Consulte Também .
Criar e modificar uma Consulta localizar não coincidente para comparar mais de um campo
-
Na guia Criar, no grupo Consultas, clique em Assistente de Consulta.
-
Na caixa de diálogo Nova Consulta, clique duas vezes em Assistente de consulta localizar não coincidente.
-
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.
-
Na segunda página, selecione a tabela relacionada e clique em Avançar. Para seguir o exemplo, selecione a tabela Detalhes do Pedido.
-
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.
-
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.
-
Na quinta página, clique em Modificar o design e em Concluir.
A consulta abre no modo de exibição Design.
-
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.
-
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.
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.
-
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.
-
Se desejar, adicione critérios aos outros campos da consulta ou crie campos calculados que sejam baseados nos valores da primeira tabela.
-
Na guia Design de Consulta , no grupo Resultados , clique em Executar.
A consulta retornará os nomes de produtos que não fizerem parte de nenhum pedido existente.
Criar sua própria consulta para localizar registros não coincidentes
-
Na guia Criar, no grupo Consultas, clique em Design da Consulta.
-
Clique duas vezes na tabela que tem registros incompatíveis e clique duas vezes na tabela que tem registros relacionados.
-
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).
-
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.
-
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.
-
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.
-
No separador Estrutura da Consulta , no grupo Resultados , clique em Executar.
Confira 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