2 dbgrid 2 tabelas 1 id

Delphi

01/02/2016

Boa noite pessoal, já procurei em todos os lados e não consigo encontrar explicação para o que estou tentando criar.

Tenho 2 tabelas (Pedidos e Compra)

Na Tabela de Pedido vem x campos e na compra vem x campos + idpedido...

Então gostaria de criar uma tela, que tenha 2 dbgrid que:

1. dbgrid pedidos: apareçam todos pedidos listados
2. dbgrid compra: apareçam todos as compras que sejam realizadas ao pedido selecionado!

Alguém pode me ajudar?

Estou usando Delphi 10 com Mysql

Obrigado.
Hermeson Gonçalves

Hermeson Gonçalves

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

02/02/2016

Creio que você precisa fazer um relacionamento Mestre-Detalhe.

Aconselho a leitura destes artigos:

https://www.devmedia.com.br/quick-tips-como-criar-um-mestre-detalhe-em-delphi/16388

https://www.devmedia.com.br/quick-tips-mestre-detalhe-em-delphi/15676
GOSTEI 1

Mais Respostas

Ruy Salles

Ruy Salles

01/02/2016

GridCompra
with qryCompra do
begin
  close;
  sql.text := 'select idCompra from compra';
  open;
end;


No clique ou dblClick do GridCompra
with qryPedido do
begin
  close;
  sql.text := ' select idPedido, desProduto' +
                  ' from predido' +
                  ' where idCompra = ' + qryCompra.FieldByName('idCompra').asString;
  open;
end;


Esse é apenas um exemplo, pois não sei o modelo de dados do sistema.

Espero ter ajudado
GOSTEI 0
Huidemar Costa

Huidemar Costa

01/02/2016

Você pode usar o AfterScrol da Query_Pedido, para passar os parametros para a Query_Compra e abrir para mostrar os dados.

Você também pode ligar as 2 querys, eu não sei qual o seu componente, eu utilizo o IBOjects. Na Query_PEdido você teria o select normal, na query_compra vc tem o select e na propriedade MasterLinks eu teria o código assim -> compra.pedido_id=pedido.id e na propriedade MasterSource você coloca Query_Pedido
GOSTEI 0
Hermeson Gonçalves

Hermeson Gonçalves

01/02/2016

Oi Ruy, inicialmente obrigado cara... sobre o SQL é de boa... a bronca, é como eu clico em um dbgrid que está listando os detalhes do pedido, tipo: pedido, cliente, data, cliente, e no dbgridcompra ele atualize os produtos relacionados com o id da tabela pedido... os sqls são de boa! a bronca está sendo o setup da interface nos dbgrids!!!

Valew
GOSTEI 0
Hermeson Gonçalves

Hermeson Gonçalves

01/02/2016

Natanael, obrigado parceiro... vou dá uma olhada e vou testar e te aviso se é isso mesmo! abraços!
GOSTEI 0
Hermeson Gonçalves

Hermeson Gonçalves

01/02/2016

Huidemar, vou testar essa função cara! e te dou o retorno! Obrigado
GOSTEI 0
Ruy Salles

Ruy Salles

01/02/2016

Hermerson, não entendi: a bronca está sendo o setup da interface nos dbgrids!!!
GOSTEI 0
Hermeson Gonçalves

Hermeson Gonçalves

01/02/2016

https://www.devmedia.com.br/master-detail-simples-e-descomplicado-para-iniciantes-delphi/20370

Ruy, ao final conseguir fazer por esse site aqui.... a parte do sql é simples, a bronca era as conexões dos dataset e dbgrid... mas esse link aí explica direitinho!!! Muito legal!!!

Mas obrigado pela ajuda.
GOSTEI 0
POSTAR