Relação entre tabelas no DBGrid

Delphi

24/04/2014

Bom dia a todos...

Estou com uma dúvida sobre um código em SQL para poder relacionar 2 tabelas em um único dbgrid; Sei que no fórum já deve ter alguns tópicos sobre esse assunto, mas não consegui resolver meu problema com eles.

É o seguinte, tenho as seguintes tabelas, com os seguintes campos respectivamente:

tab_controle ===> id_controle(auto), id_coordenador(num), data, hora, obs.

tab_login ===> id_login(auto), nome, login, senha.


No formulário principal contém um DBGrid com o dataset ligado em um ADOQuery cujo SQL busca a tabela de controle:

SELECT * FROM tab_controle

Somente isso... Queria que no dbgrid ao envés de aparecer o id_coordenador, aparecesse o Nome, caso o id_coordenador for igual ao id_login.


Estou usando BD Access, ADOConection, ADOQuery.


Obrigado, att, Bruno.
Bruno Souza

Bruno Souza

Curtidas 0

Respostas

Marcos Gandin

Marcos Gandin

24/04/2014

Bruno...

A primeira coisa que você deve fazer é uma Foreign Key entre as tabelas tab_controle e tab_login.
Após isso é só fazer o SQL da seguinte maneira:

Select tc.id_controle, tl.nome, tc.data, tc.hora, tc.obs
From tab_controle tc, tab_login tl
Where tc.id_coordenador = tl.id_login

GOSTEI 0
Bruno Souza

Bruno Souza

24/04/2014

Como faço essa chave estrangeira ??

E esse código SQL, eu devo colocar na propriedade SQL da query ?

GOSTEI 0
Fabio

Fabio

24/04/2014

Como faço essa chave estrangeira ??

E esse código SQL, eu devo colocar na propriedade SQL da query ?



Bruno chave estrangeira é simples
ALTER TABLE NOME_TABELA_QUE_FICA_CHAVE ADD CONSTRAINT FK_NOME_DA_SUA_CHAVE FOREIGN KEY (CODIGO)
REFERENCES NOME_OUTRA_TABELA(CODIGO);
GOSTEI 0
POSTAR