Logo Hardware.com.br
mm_edilson
mm_edilson Membro Junior Registrado
138 Mensagens 4 Curtidas

[Resolvido] DBGrid lendo a partir de 2 AdoTable

#1 Por mm_edilson 14/06/2018 - 12:52
Bom dia, amigos. Estou tentando desenvolver um programinha em delphi 7 e access para registro de contribuições. Tenho uma tabela com os dados das pessoas contribuintes, e outra tabela para registar as contribuições. Essa tabela de contribuições recebe a ID do contribuinte, a data e o valor.

Pois bem, coloquei um dbgrid no formulário para ir listando as contribuições lançadas.

Um lookupcombobox seleciona o nome do contribuinte e grava a ID do mesmo na tabela de contribuições.

Mas aí está o meu problema. No DBgrid aparece a id do contribuinte, pois esse é o dado que foi salvo na tabela de contribuições. Mas quero que apareça o nome. É possivel fazer isso? Ou seja, o mesmo DBGrid estar lincado à tabela de contribuições e buscar o nome do contribuinte em outra tabela?

Abçs e obrigado.
TerraSkilll
TerraSkilll Zumbi Moderador
4K Mensagens 1.2K Curtidas
#2 Por TerraSkilll
14/06/2018 - 14:24
Você pode criar um campo lookup no componente ADOTable (ou o que estiver usando) conectado ao grid. Assim, você cria um campo que é alimentado pela outra tabela, preenchendo o nome de acordo com o id do contribuinte. Note, porém, que campos lookup não tem um bom desempenho quando muitos registros estão envolvidos.

Outra opção é você usar um ADOQuery (ou similar) e fazer uma consulta ao banco já realizando a conexão entre as tabelas (com where ou join) e trazendo a coluna referente ao nome do contribuinte. Esse ADOQuery seria usado apenas para listar no grid. Para realizar a inserção ou edição, você usa o ADOQuery, do jeito que já deve fazer atualmente.

Abraço.
Contribua para um fórum melhor: pense antes de postar.
"It isn't a contest. Just enjoy the ride." -> Seth Vidal
Hardware.com.br no Youtube!
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal