Consulta com Relação entre Tabelas

Por vezes torna-se necessário obter um dynaset com um conjunto de registos constituido por dados que está contido em várias tabelas, pelo que surge a necessidade de as relacionar.

Essa relação tem por base um campo comum (por exemplo, o N.º de Cliente). A relação mais usual designa-se por relação um-para-muitos (one-to-many) e significa que, para cada registo de uma tabela, existem muitos outros registos relacionados em outra. Por exemplo, para cada Cliente (1 registo na tabela clientes) existem vários facturas ( n registos na tabelas facturas ).

Na nossa base de dados exempolo criariamos uma tabela para exemplificarmos correctamente a relação com o nome ( Serviços Facturados ):

Quando pretendemos relacionar duas tabelas, o campo da relação tem de ser do mesmo tipo (por exemplo, Texto <-> Texto).

No entanto, como o campo nº de Cliente da tabela de Clientes é do tipo Numeração Automática { AutoNumber } e o campo N.º de Cliente da tabela Serviços Facturados é do tipo Numero { Number }, para a relação ser possível é necessário alterar a sua propriedade Tamanho do campo { Field Size } para Número inteiro longo { Long integer }

Esta situação, que à partida pode parecer pouco comum, irá ser necessária em todas as bases de dados em que exista uma relação um-para-muitos: um cliente com muitas facturas, um sócio com muitos filmes alugados, um empregado com muitos registos de vencimentos,....

Criando uma nova consulta e seleccionando as duas tabelas, a relação será imediatamente reconhecida pelo Access. Para as selecionar basta selecionar uma e clicar em adicionar e de seguida selecionar a outra e tornar a clicar em adicionar.

De seguida basta selecionar os campos pretenddidos:

 

 

RelacaoEntreDuasTabelasDeUmaConsulta.jpg (35361 bytes)

Fig. 1.7.10 - Relação entre duas Tabelas de uma Consulta

Quando existe mais do que uma tabela numa consulta, é aconselhável visualizar o nome da tabela à qual pertence cada campo. Essa opção é assumida, mas é controlável acedendo ao menu Ver {View} e seleccionando o comando Nomes das Tabelas { Table Names }

Para visualizar o dynaset basta clicar em vista folha de dados e obterá algo deste genero :

DynasetRelacaoEntreTabelas.jpg (26180 bytes)

Fig. 2.7.10 Dynaset da Consulta da Figura anterior

Condições Simples e MúltiplasAnterior | SeguinteConsultas com Campos Calculados