Comparar duas tabelas no Access e localizar apenas os dados correspondentes
Applies ToAccess para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Por vezes, pode querer rever registos de uma tabela do Access apenas se existirem registos correspondentes noutra tabela do Access com um ou mais campos com dados correspondentes. Por exemplo, pode querer rever os registos dos funcionários que processaram, pelo menos, uma encomenda para determinar quais os funcionários elegíveis para um bónus. Em alternativa, pode querer rever as informações de contacto dos clientes que vivem na mesma cidade que um funcionário, para poder corresponder funcionários a clientes para reuniões presenciais.

Quando quiser comparar duas tabelas do Access e localizar dados correspondentes, pode:

  • Criar uma consulta que associe campos de cada tabela em que esses campos contêm informações correspondentes, utilizando uma relação existente ou uma associação criada para o propósito da consulta. Este método fornece o desempenho ideal (a velocidade com que a consulta devolve resultados), mas não é possível associar campos que têm tipos de dados diferentes.

  • Criar uma consulta que compare campos ao utilizar um campo como critério para os outros. Utilizar um campo como critério para outro campo é normalmente mais lento do que utilizar associações, porque as associações eliminam as linhas dos resultados da consulta antes das tabelas subjacentes serem lidas, enquanto os critérios são aplicados aos resultados da consulta depois de as tabelas subjacentes serem lidas. No entanto, pode utilizar um campo como critério de campo para comparar os campos que têm tipos de dados diferentes, o que não é possível através de associações.

Este artigo fala sobre como comparar duas tabelas para identificar dados correspondentes e fornece dados de exemplo que pode utilizar com procedimentos de exemplo.

O que pretende fazer?

Comparar duas tabelas através de associações

Para comparar duas tabelas através de associações, crie uma consulta selecionar que inclua ambas as tabelas. Se ainda não existir uma relação entre as tabelas nos campos que contêm os dados correspondentes, crie uma associação nos campos que pretende examinar para correspondências. Pode criar as associações que quiser, mas cada par de campos associados tem de ser do mesmo tipo de dados ou de um tipo de dados compatível.

Imagine que é um investigador numa universidade e quer ver a forma como as recentes alterações curriculares no departamento de matemática afetaram as notas dos estudantes. Está interessado especificamente nas notas dos estudantes inscritos no bacharelato de matemática. Já tem uma tabela que armazena os dados principais dos estudantes e uma tabela que armazena os dados de inscrição nas aulas. Os dados das notas estão armazenados na tabela Inscrições nas Aulas e os dados principais dos estudantes estão armazenados na tabela Bacharelatos de Estudantes. Para ver como as notas alteraram os bacharelatos de matemática desde as recentes alterações curriculares, tem de rever os registos da tabela de inscrições que tem os registos correspondentes na tabela de bacharéis.

Preparar dados de exemplo

Neste exemplo, cria uma consulta que determina a forma como as recentes alterações curriculares no departamento de matemática afetaram as notas dos estudantes de matemática. Utilize as duas tabelas de exemplo seguintes, Bacharelatos de Estudantes e Inscrições nas Aulas. Adicione estas duas tabelas de exemplo, Bacharelatos de Estudantes e Inscrições nas Aulas, a uma base de dados.

Access fornece várias formas de adicionar estas tabelas de exemplo a uma base de dados. Pode introduzir os dados manualmente, copiar cada tabela para um programa de folha de cálculo e, em seguida, importar as folhas de cálculo para Access ou pode colar os dados num editor de texto, como o Bloco de Notas, e, em seguida, importar os dados dos ficheiros de texto resultantes.

Os passos nesta secção explicam como introduzir os dados manualmente numa folha de cálculo em branco e também explicam como copiar as tabelas de exemplo para o Excel e, em seguida, importá-las para o Access.

Bacharelatos de Estudantes

ID de Estudante

Ano

Bacharelato

123456789

2005

MATEMÁTICA

223334444

2005

INGLÊS

987654321

2005

MATEMÁTICA

135791357

2005

HISTÓRIA

147025836

2005

BIOLOGIA

707070707

2005

MATEMÁTICA

123456789

2006

MATEMÁTICA

223334444

2006

INGLÊS

987654321

2006

PSICOLOGIA

135791357

2006

ARITMÉTICA

147025836

2006

BIOLOGIA

707070707

2006

MATEMÁTICA

Inscrições nas Aulas

ID de Estudante

Ano

Semestre

Currículo

N.º do Curso

Nota

123456789

2005

3

MATEMÁTICA

221

Excelente

123456789

2005

3

INGLÊS

101

Bom

123456789

2006

1

MATEMÁTICA

242

Suficiente

123456789

2006

1

MATEMÁTICA

224

Suficiente

223334444

2005

3

INGLÊS

112

Excelente

223334444

2005

3

MATEMÁTICA

120

Suficiente

223334444

2006

1

CIÊNCIAS POLÍTICAS

110

Excelente

223334444

2006

1

INGLÊS

201

Bom

987654321

2005

3

MATEMÁTICA

120

Excelente

987654321

2005

3

PSICOLOGIA

101

Excelente

987654321

2006

1

MATEMÁTICA

221

Bom

987654321

2006

1

MATEMÁTICA

242

Suficiente

135791357

2005

3

HISTÓRIA

102

Excelente

135791357

2005

3

ARITMÉTICA

112

Excelente

135791357

2006

1

MATEMÁTICA

120

Bom

135791357

2006

1

MATEMÁTICA

141

Suficiente

147025836

2005

3

BIOLOGIA

113

Bom

147025836

2005

3

QUÍMICA

113

Bom

147025836

2006

1

MATEMÁTICA

120

Insuficiente

147025836

2006

1

ESTATÍSTICA

114

Bom

707070707

2005

3

MATEMÁTICA

221

Bom

707070707

2005

3

ESTATÍSTICA

114

Excelente

707070707

2006

1

MATEMÁTICA

242

Insuficiente

707070707

2006

1

MATEMÁTICA

224

Suficiente

Se quiser utilizar um programa de folha de cálculo para introduzir os dados de exemplo, pode ignorar a secção seguinte.

Introduzir os dados de exemplo manualmente

  1. Abra uma base de dados nova ou existente.

  2. No separador Criar, no grupo Tabelas, clique em Tabela.

    Imagem do Friso do Access

    O Access adiciona uma nova tabela em branco à sua base de dados.

    Nota: Não tem de seguir este passo se abrir uma nova base de dados em branco, mas terá de segui-lo sempre que precisar de adicionar uma tabela à base de dados.

  3. Faça duplo clique na primeira célula na linha de cabeçalho e, em seguida, escreva o nome do campo na tabela de exemplo.

    Por predefinição, o Access indica campos em branco na linha de cabeçalho com o texto Adicionar Novo Campo, como:

    Novo campo numa folha de dados

  4. Utilize as teclas de seta para aceder à célula de cabeçalho em branco seguinte e, em seguida, escreva o segundo nome do campo. (Também pode fazer duplo clique na nova célula.) Repita este passo para cada nome do campo.

  5. Introduza os dados na tabela de exemplo.

    Ao introduzir os dados, o Access infere um tipo de dados para cada campo. Cada campo tem um tipo de dados específico, como Número, Texto ou Data/Hora. Definir tipos de dados ajuda a assegurar uma introdução de dados precisa e ajuda a evitar erros, como a utilização de um número de telefone num cálculo. Para estas tabelas de exemplo, deve deixar que o Access infira os tipos de dados, mas certifique-se de que revê o tipo de dados que o Access infere para cada campo.

  6. Quando terminar de introduzir os dados, clique em Guardar ou prima Ctrl+S.

    A caixa de diálogo Guardar Como é apresentada.

  7. Na caixa Nome da Tabela, escreva o nome da tabela de exemplo e, em seguida, clique em OK.

    Utilize o nome de cada tabela de exemplo (por exemplo, Bacharelatos de Estudantes) porque as consultas nas secções de procedimento deste artigo também utilizam esses nomes.

Quando terminar de introduzir os dados de exemplo, está pronto para comparar as duas tabelas.

Ignore a secção seguinte (Criar folhas de cálculo de exemplo), a menos que pretenda saber como criar uma folha de cálculo baseada nos dados de exemplo das tabelas na secção anterior.

Criar folhas de cálculo de exemplo

  1. Inicie o programa de folha de cálculo e crie um novo ficheiro em branco. Se utilizar o Excel, por predefinição, será criado um novo livro em branco quando iniciar o programa.

  2. Copie a primeira tabela de exemplo da secção anterior e cole-a na primeira folha de cálculo, começando na primeira célula. Certifique-se de que copia a linha de cabeçalho, uma vez que contém os nomes dos campos da tabela de exemplo.

  3. Utilizando a técnica fornecida pelo programa de folha de cálculo, atribua à folha de cálculo o mesmo nome da tabela de exemplo. Por exemplo, quando cola os dados de exemplo Inscrições nas Aulas, atribua à folha de cálculo o nome Inscrições nas Aulas.

  4. Repita os passos 2 e 3, copiando a segunda tabela de exemplo para uma folha de cálculo em branco e mude o nome da folha de cálculo.

    Nota: Pode ter de adicionar folhas de cálculo ao ficheiro de folha de cálculo. Para obter informações sobre a adição de folhas de cálculo ao ficheiro de folha de cálculo, consulte a ajuda do programa de folha de cálculo.

  5. Guarde o livro num local conveniente no seu computador ou na sua rede e avance para o próximo conjunto de passos.

Criar tabelas de base de dados a partir das folhas de cálculos:

  1. Numa base de dados nova ou existente:

    No separador Dados Externos, no grupo Importar, clique em Excel.

    Imagem do Friso do Access

    – ou –

    Clique em Mais e, em seguida, selecione um programa de folha de cálculo da lista.

    É apresentada a caixa de diálogo Obter Dados Externos – Folha de Cálculo do Nome do Programa.

  2. Clique em Procurar, localize e abra o ficheiro de folha de cálculo que criou no passo anterior e, em seguida, clique em OK.

    É iniciado o Assistente de Importação de Folhas de Cálculo.

    Por predefinição, o assistente seleciona a primeira folha de cálculo no livro (Bacharelatos de Estudantes, se seguiu os passos na secção anterior) e os dados da folha de cálculo são apresentados na secção inferior da página do assistente.

  3. Clique em Seguinte.

  4. Na página seguinte do assistente, selecione a caixa de verificação Primeira Linha Contém os Cabeçalhos de Coluna e, em seguida, clique em Seguinte.

  5. Na página seguinte, pode utilizar as caixas de texto e as listas em Opções dos Campos para alterar os nomes dos campos e os tipos de dados ou omitir campos na operação de importação. Para este exemplo, não tem de alterar nada. Clique em Seguinte.

  6. Na página seguinte, selecione a opção Sem chave primária e, em seguida, clique em Seguinte.

  7. Por predefinição, o Access aplica o nome da folha de cálculo à sua nova tabela. Aceite o nome na caixa Importar para Tabelae, em seguida, clique em Concluir.

  8. Na página Guardar Passos de Importação, clique em Fechar para concluir o assistente.

  9. Repita os passos 1 a 7 até ter criado uma tabela a partir de cada folha de cálculo no ficheiro de folha de cálculo.

Comparar as tabelas de exemplo e localizar os registos correspondentes utilizando associações

Agora está pronto para comparar a tabela Inscrições nas Aulas e a tabela Bacharelatos de Estudantes. Como ainda não definiu relações entre as duas tabelas, tem de criar associações entre os campos adequados na consulta. As tabelas têm mais de um campo em comum e terá de criar uma associação para cada par de campos comuns: ID de Estudante, Ano e Currículo (tabela Inscrições nas Aulas) e Bacharelato (tabela Bacharelatos de Estudantes). Neste exemplo, apenas está interessado nos bacharelatos de matemática, pelo que também vai utilizar um critério de campo para limitar os resultados da consulta.

  1. Abra a base de dados na qual guardou as tabelas de exemplo.

  2. No separador Criar, clique em Estrutura da Consulta.

  3. Faça duplo clique na tabela que contém os registos que pretende apresentar — neste exemplo, a tabela Inscrições nas Aulas e, em seguida, faça duplo clique na tabela à qual está a compará-la — neste exemplo, na tabela Bacharelatos de Estudantes .

  4. Arraste o campo ID de Estudante da tabela Inscrições nas Aulas para o campo ID de Estudante da tabela Bacharelatos de Estudantes. Aparece uma linha entre as duas tabelas na grelha de estrutura, indicando que criou uma associação. Faça duplo clique na linha para abrir a caixa de diálogo Propriedades da Associação.

  5. Reveja as três opções na caixa de diálogo Propriedades da Associação. Por predefinição, a opção 1 está selecionada. Em alguns casos, tem de ajustar as propriedades de associação para incluir linhas adicionais de uma tabela. Uma vez que está a tentar encontrar apenas dados correspondentes, deixe a associação definida para a opção 1. Feche a caixa de diálogo Propriedades da Associação ao clicar em Cancelar.

  6. Terá de criar duas outras associações. Crie estas associações ao arrastar o campo Ano da tabela Inscrições nas Aulas para o campo Ano da tabela Bacharelatos de Estudantes e, em seguida, ao arrastar o campo Currículo da tabela Inscrições nas Aulas para o campo Bacharelato na tabela Bacharelatos de Estudantes.

  7. Na tabela Inscrições nas Aulas, faça duplo clique no asterisco (*) para adicionar todos os campos da tabela à grelha de estrutura da consulta.

    Nota: Quando utiliza o asterisco para adicionar todos os campos, é apresentada apenas uma coluna na grelha de estrutura. A coluna apresentada tem o nome da tabela, seguido por um ponto final (.) e um asterisco (*). Neste exemplo, a coluna tem o nome Inscrições nas Aulas.*.

  8. Na tabela Bacharelatos de Estudantes, faça duplo clique no campo Bacharelato para o adicionar à grelha.

  9. Desmarque a caixa de verificação na linha Mostrar da coluna Bacharelato na grelha de estrutura da consulta.

  10. Na linha Critérios da coluna Bacharelato, escreva MATEMÁTICA.

  11. No separador Estrutura, no grupo Resultados, clique em Executar.

    A consulta é executada e, em seguida, apresenta apenas as notas de matemática dos bacharéis de matemática.

Início da Página

Comparar duas tabelas ao utilizar um campo como critério

Por vezes, poderá querer comparar tabelas com base em campos que têm dados correspondentes, mas com tipos de dados diferentes. Por exemplo, um campo numa tabela pode ter um tipo de dados Número e o utilizador pode querer comparar esse campo a um campo na outra tabela que tem um tipo de dados Texto. Os campos que contêm dados semelhantes mas que têm tipos de campo diferentes podem resultar quando os números são armazenados como texto, quer por predefinição quer por outras razões, como a importação de dados de outro programa. Uma vez que não é possível criar associações entre campos com tipos de dados diferentes, terá de utilizar um método diferente para comparar os campos. Pode comparar dois campos com tipos de dados diferentes ao utilizar um campo como critério para os outros.

Imagine que é um investigador numa universidade e quer ver a forma como as recentes alterações curriculares no departamento de matemática afetaram as notas dos estudantes. Está interessado especificamente nas notas dos estudantes inscritos no bacharelato de matemática. Já tem uma tabela Bacharelatos de Estudantes e uma tabela Inscrições nas Aulas. Os dados das notas estão armazenados na tabela Inscrições nas Aulas e os dados principais dos estudantes estão armazenados na tabela Bacharelatos de Estudantes. Para ver como as notas foram alteradas para os bacharéis de matemática, tem de ver os registos da tabela de inscrições que tem os registos correspondentes na tabela de principais. No entanto, um dos campos que pretende utilizar para comparar as tabelas tem um tipo de dados diferente.

Para comparar duas tabelas ao utilizar um campo como critério, crie uma consulta selecionar que inclua ambas as tabelas. Inclua os campos que pretende apresentar, bem como o campo que corresponde ao campo que quer utilizar como critério. Em seguida, crie um critério para comparar as tabelas. Pode criar os critérios para comparar campos que quiser.

Para ilustrar este método, utilizará as tabelas de exemplo da secção anterior, mas irá alterar o tipo de dados do campo ID de Estudante da tabela de exemplo Bacharelatos de Estudantes de Número para Texto. Uma vez que não é possível criar uma associação entre dois campos com tipos de dados diferentes, terá de comparar os dois campos ID de Estudante utilizando um campo como critério para o outro.

Alterar o tipo de dados do campo ID de Estudante da tabela Bacharelatos de Estudantes

  1. Abra a base de dados na qual guardou as tabelas de exemplo.

  2. No Painel de Navegação, clique com o botão direito do rato na tabela Bacharelatos de Estudantes e, em seguida, clique em Vista Estrutura no menu de atalho.

    A tabela Bacharelatos de Estudantes é aberta na vista Estrutura.

  3. Na coluna Tipo de Dados, altere a definição de ID de Estudante de Número para Texto.

  4. Feche a tabela Bacharelatos de Estudantes. Quando lhe for pedido para guardar as alterações, clique em Sim.

Comparar as tabelas de exemplo e localizar os registos correspondentes utilizando um critério de campo

O procedimento seguinte mostra como comparar os dois campos ID de Estudante utilizando o campo de Inscrições nas Aulas como critério para o campo de Bacharelatos de Estudantes. Ao utilizar a palavra-chave Como, pode comparar os campos, mesmo que tenham tipos de dados diferentes.

  1. No separador Criar, no grupo Outro, clique em Estrutura da Consulta.

  2. Faça duplo clique em Inscrições nas Aulas e, em seguida, faça duplo clique em Bacharelatos de Estudantes.

  3. Arraste o campo Ano da tabela Inscrições nas Aulas para o campo Ano da tabela Bacharelatos de Estudantes e, em seguida, arraste o campo Currículo da tabela Inscrições nas Aulas para o campo Bacharelato da tabela Bacharelatos de Estudantes. Uma vez que estes campos têm os mesmos tipos de dados, pode compará-los utilizando associações. As associações são o método preferido para comparar campos com o mesmo tipo de dados.

  4. Faça duplo clique no asterisco (*) na tabela Inscrições nas Aulas para adicionar todos os campos da tabela à grelha de estrutura da consulta.

    Nota: Quando utiliza o asterisco para adicionar todos os campos, é apresentada apenas uma coluna na grelha de estrutura. A coluna apresentada tem o nome da tabela, seguido por um ponto final (.) e um asterisco (*). Neste exemplo, a coluna tem o nome Inscrições nas Aulas.*.

  5. Na tabela Bacharelatos de Estudantes, faça duplo clique no campo ID de Estudante para o adicionar à grelha.

  6. Desmarque a caixa de verificação na linha Mostrar da coluna ID de Estudante da grelha de estrutura. Na linha Critérios da coluna ID de Estudante, escreva Como [Inscrições nas Aulas].[ID de Estudante].

  7. Na tabela Bacharelatos de Estudantes, faça duplo clique no campo Bacharelato para o adicionar à grelha.

  8. Desmarque a caixa de verificação na linha Mostrar da coluna Principal da grelha de estrutura. Na linha Critérios, escreva MATEMÁTICA.

  9. No separador Estrutura, no grupo Resultados, clique em Executar.

    A consulta é executada e, em seguida, apresenta apenas as notas de matemática dos bacharéis de matemática.

Início da Página

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.