MS Access - Assistente de consulta incomparável
No Access, há outro assistente muito útil e que é Find Unmatched Query Wizard. O Find Unmatched Query Wizard cria uma consulta que localiza registros ou linhas em uma tabela que não possuem registros relacionados em outra tabela.
Como já discutimos, como os dados se juntam nas consultas e como a maioria das consultas procura as correspondências entre duas ou mais tabelas.
Esta é a junção padrão no Access, por exemplo, se projetarmos uma consulta com duas tabelas, tblCustomers e tblOrders, e unir essas duas tabelas pelos CustomerIDs, essa consulta retornará apenas os resultados correspondentes. Em outras palavras, os clientes que fizeram pedidos.
Há momentos em que não queremos ver as correspondências, por exemplo, podemos não querer ver nenhum cliente em nosso banco de dados - os clientes que ainda não fizeram pedidos.
- Isso é exatamente o que a consulta encontrar sem correspondência faz.
Existem muitos outros usos possíveis para esse tipo de consulta.
Em nosso banco de dados, podemos usá-lo para ver quais autores ainda não escreveram um projeto ou você pode usá-lo para ver quais funcionários ainda não elegeram nenhum benefício de saúde. Vamos agora abrir seu banco de dados que contémCustomers e Ordersmesa; vá para a guia Criar e clique no botão do assistente de consulta.
Selecione os Find Unmatched Query Wizard e clique Ok.
Nesse cenário, cuidaremos dos clientes que não fizeram um pedido. Na primeira tela está perguntando qual tabela ou consulta contém os registros que você deseja nos resultados da consulta.
Agora queremos uma lista de clientes de tblCustomers. Selecione essa opção e clique emNext.
Na tela a seguir, você precisa especificar which table or query contains the related records. Em outras palavras, qual tabela você está usando para comparar com a primeira. Para isso, precisamos encontrar aqueles que não fizeram pedidos. Precisamos selecionar a tabela que contém informações sobre todos os pedidos -tblOrders. Agora cliqueNext.
Na tela a seguir, você precisa especificar quais informações estão em ambas as tabelas.
- Normalmente, será algum tipo de chave primária, chave estrangeira, campo ou relacionamento.
- Se você tiver um relacionamento existente em seu banco de dados, o Access selecionará e combinará esses campos para você.
- Mas, se você tiver outros campos que pode agrupar, contêm informações semelhantes, você pode escolher isso aqui também.
Aqui, temos CustID selecionado por padrão em ambos os Campos em 'tblCustomers' e Campos em 'tblOrders'. Agora cliqueNext.
Na tela seguinte, você pode selecionar e escolher os campos que deseja ver exibidos nos resultados da consulta.
Vamos agora selecionar todos os campos disponíveis e clicar na seta dupla. Isso move todos osavailable fields para o selected fieldsárea. Agora cliqueNext.
A última tela permitirá que você escolha um nome para sua consulta e clique Finish.
Aqui temos um cliente listado como o cliente que ainda não fez um pedido conosco.
Você também pode ver como essa consulta foi criada. Para isso, você precisa voltar aoDesign View.
Este assistente criou um Outer Join entre tblCustomer e tblOrders e o Is Nullcritérios é adicionado ao CustID de tblORders. Isso é para excluir certos registros. Nesse caso, são os clientes que fizeram pedidos, ou que possuem informações relacionadas no tblOrders.