Gerir dados com consultas

Criar consultas com associações externas

O seu browser não suporta vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.

Por vezes, nas suas consultas, poderá querer ver todos os registos de uma tabela, juntamente com os registos correspondentes de outra tabela. Para fazê-lo, crie associações externas.

As associações internas só apresentam dados quando existe um ID correspondente em ambas as origens de dados ligadas. Por exemplo, se pretender apresentar os produtos e as quantidades vendidas, pode criar uma associação interna entre as tabelas Produtos e Detalhes das Encomendas. Quando executar a consulta, apenas os produtos que existem em encomendas (e que assim aparecem nas duas tabelas) são devolvidos.

Por outro lado, as associações externas devolvem todos os dados de uma origem de dados e alguns dos dados de outra tabela ou origem de dados.

Por exemplo, se pretender ver os produtos que não foram vendidos, pode criar uma consulta que mostre o ID do Produto da tabela Produtos e IDs de Encomenda correspondentes na tabela Detalhes das Encomendas. Os produtos que não tiverem registos correspondentes na tabela Detalhes das Encomendas devolvem o nome do produto sem um valor para o campo ID da Encomenda.

Associações externas à esquerda e associações externas à direita

Numa associação externa, a tabela que apresenta todos os seus registos é denominada tabela base. A tabela que apresenta apenas alguns registos (correspondentes) é denominada tabela secundária.

A caixa de diálogo Propriedades da Associação descreve o que vê com diferentes tipos de associações:

Captura de ecrã de três tabelas e das respetivas Propriedades da Associação

Suponhamos que criou uma consulta para mostrar os produtos que os seus clientes compraram. Os seus campos de saída são Nome do Produto, ID da Encomenda e Quantidade.

  1. Associação interna. Inclua apenas as linhas (registos) nas quais os campos associados de ambas as tabelas sejam iguais, por exemplo, apenas os produtos com encomendas associadas aos mesmos.

  2. Associação externa à esquerda. Inclua todos os registos da tabela em Nome da Tabela da Esquerda e apenas os registos da tabela em Nome da Tabela da Direita nos quais os campos associados são iguais, por exemplo, todas as encomendas, mas apenas as quantidades e IDs de Produtos das encomendas com produtos associados às mesmas.

  3. Associação externa à direita Inclua todos os registos da tabela em Nome da Tabela da Direita e apenas os registos da tabela em Nome da Tabela da Esquerda nos quais os campos associados são iguais, por exemplo, todos os produtos (mesmo quando não existem encomendas para os mesmos). Neste caso, os valores em branco aparecem nos campos ID da Encomenda e Quantidade.

Como pode ver através destes exemplos, é importante saber qual a tabela que se encontra à esquerda e qual a tabela que se encontra à direita, o que, na verdade, pode ser diferente da forma como as tabelas são dispostas na janela da consulta. Para compreender quais os dados que irá obter da sua consulta, leia o texto cuidadosamente na caixa de diálogo Propriedades da Associação.

1. Adicionar origens de dados

  • Selecione Criar > Estrutura da Consulta.

Adicione todas as tabelas e consultas de que precisa como origens de dados. (Não se preocupe. Caso se esqueça de alguma, terá a oportunidade de adicionar mais origens de dados posteriormente.)

Se o Access detetar ou deduzir as mesmas, este pode mostrar relações para as origens de dados.

2. Adicionar uma associação

  • Se não vir uma relação entre as origens, adicione uma associação. Arraste a partir do campo que pretende numa origem de dados para o campo correspondente noutra origem de dados. A tabela a partir da qual arrasta é a tabela que irá aparecer no lado esquerdo da caixa de diálogo Propriedades da Associação. Por predefinição, o Access cria uma associação interna. Se precisar de uma associação externa, altere o respetivo tipo.

    captura de ecrã da associação entre duas tabelas

3. Alterar uma associação

  1. Faça duplo clique na linha que representa a associação que pretende alterar.

  2. Na caixa de diálogo Propriedades da Associação, selecione a segunda ou terceira opção para criar uma associação externa. Em seguida, selecione OK.

    Não se esqueça de prestar atenção a qual das tabelas é a tabela base – a tabela a partir da qual todos os registos são apresentados.

    Captura de ecrã das Propriedades da Associação a realçar o nome da tabela à esquerda

4. Concluir a consulta

Siga os passos normais para criar uma consulta: adicione campos de saída, critérios e execute ou guarde a sua consulta. Para saber como fazê-lo, consulte o artigo Criar consultas básicas.

Quer mais?

Criar consultas básicas

Formação do Excel

Formação do Outlook

Vejamos como utilizar as associações externas à esquerda e à direita numa consulta Selecionar.

As associações externas têm lados (esquerdo e direito) e devolvem TODOS os dados de uma tabela e apenas os dados CORRESPONDENTES de outra. São úteis quando quer saber quando algo NÃO aconteceu. Por exemplo, um determinado item NÃO está a ser vendido ou os estudantes NÃO estão a registar-se numa determinada disciplina.

Acrescentemos agora algo mais.

A tabela que devolve TODOS os dados é chamada "tabela base" e a tabela que devolve CORRESPONDÊNCIAS é chamada "tabela secundária".

Saber qual é a tabela base e qual é a tabela secundária depende da direção da associação.

Se utilizar uma associação externa à direita, a tabela do lado direito é a tabela base. Se utilizar uma associação externa à esquerda, a tabela do lado esquerdo é a tabela base.

Controla se está a utilizar uma associação externa à esquerda ou à direita na caixa de diálogo Propriedades da Associação. Selecione e clique com o botão direito do rato ou faça duplo toque na linha de associação, depois em Propriedades da Associação e, por fim, selecione a segunda ou terceira opção.

Agora, vamos pôr tudo a funcionar:

No separador Criar, selecione Estrutura da Consulta. Aqui iremos adicionar as tabelas DetalhesDaEncomenda e Produtos.

Pode ver que o Access utilizou uma relação um-para-muitos como um PADRÃO para a associação e isso significa que é uma associação interna.

Adicionamos os campos Nome do Produto e Quantidade e, se executarmos a consulta, esta só devolverá dados de produtos que tenham sido encomendados.

Sabemos isto, porque se a consulta devolvesse dados de produtos não encomendados, iríamos ver registos em branco aqui.

De volta à Vista de Estrutura, clicamos com o botão direito do rato ou fazemos duplo toque na linha de associação e selecionamos Propriedades da Associação. Selecione a segunda opção e repare na linha de associação.

A seta indica que se trata de uma associação externa, apontando também para a tabela secundária. Execute a consulta e ordene os dados do menor para o maior. Agora sabe que produtos não estão a ser vendidos.

O que acontece se mudarmos para uma associação externa à direita?

Fazemos a alteração, executamos a consulta e obtemos os mesmos resultados como uma associação interna: sem registos em branco.

Se olharmos para a caixa de diálogo Propriedades da Associação, percebemos porquê.

Estamos a obter todos os dados da tabela Detalhes da Encomenda, mas apenas as CORRESPONDÊNCIAS da tabela Produtos. Por outras palavras, só estamos a ver produtos que têm uma encomenda correspondente e esse é o mesmo resultado devolvido por uma associação interna.

Agora, já sabe como utilizar associações externas numa consulta Selecionar com várias origens de dados. Por isso, analise as suas associações e, se não obtiver o resultado que pretende, pode sempre alterá-las.

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×