Várias tabelas em um único dbgrid
Pessoal,
Tenho que criar uma forma de fazer um cadastro de várias tabelas master/detail num mesmo form.
Ex.: Na parte de cima do form, a tabela mãe com seus campos, na parte de baixo um DBGrid com todas as outras tabelas details.
1- Qual seria a melhor forma para que ao incluir os campos detail a tabela master já esteja com os dados gravados. Gravar 1º a master (se dessa forma, como seria para a gravação ser automática sem que o usuário tenha que clicar em algum botão confirmando a gravação dos dados?) e depois os details ou gravar tudo de uma só vez através de alguma rotina?
2- Em um único DBGrid tenho que adicionar os campos das várias tabelas details. É possível?
Pensei em na hora de gravar, usar uma procedure para ir gravando na ordem necessária, pois dentro do dbgrid haverá uma tabela que é detail de uma master que também estará nesse dbgrid.
Não gostaria de ter que usar tabela temporária. Alguém tem alguma sugestão de como posso fazer isso?
Tenho que criar uma forma de fazer um cadastro de várias tabelas master/detail num mesmo form.
Ex.: Na parte de cima do form, a tabela mãe com seus campos, na parte de baixo um DBGrid com todas as outras tabelas details.
1- Qual seria a melhor forma para que ao incluir os campos detail a tabela master já esteja com os dados gravados. Gravar 1º a master (se dessa forma, como seria para a gravação ser automática sem que o usuário tenha que clicar em algum botão confirmando a gravação dos dados?) e depois os details ou gravar tudo de uma só vez através de alguma rotina?
2- Em um único DBGrid tenho que adicionar os campos das várias tabelas details. É possível?
Pensei em na hora de gravar, usar uma procedure para ir gravando na ordem necessária, pois dentro do dbgrid haverá uma tabela que é detail de uma master que também estará nesse dbgrid.
Não gostaria de ter que usar tabela temporária. Alguém tem alguma sugestão de como posso fazer isso?
Barbara.michele
Curtidas 0
Respostas
Barbara.michele
30/10/2004
Então, alguém teria como ajudar????
GOSTEI 0
Edilcimar
30/10/2004
SE entendi direito, coloque campos calculados no dbgrid onde os campos são os campos das outras tabelas, ou então utilize um stringgrid
GOSTEI 0
Andre Silveira
30/10/2004
Vc teria que criar na tabela mestre campos lookup para as tabelas filhas e então coloca-los no dbgrid, poderia tb colocar 3 dbgrids e assim setar cada um com sua tabela, e nos eventos beforepost de cada tabela, setar os valores das chaves estrangeiras.
Lembre-se de relacionar as tabelas.
Me manda um email que te ajudo melhor....
Lembre-se de relacionar as tabelas.
Me manda um email que te ajudo melhor....
GOSTEI 0
Mitsalito
30/10/2004
Se eu entedi bem vc tem um cadastro e um grid separadamente
neste caso eu faço assim.
salvo tudo separadamente
exemplo
cadastrando um cliente na tabela de cliente e pessoa
num unico formulario o usuário digita os dados do cliente e da pessoa quando ele clicar em salvar é executada uma rotina que alem de gravar faz o relacionamento
e na hora de exibir no grid eu mostro atravéz de um outro objeto de tabela usando uma sql que junta todos os dados
neste caso eu faço assim.
salvo tudo separadamente
exemplo
cadastrando um cliente na tabela de cliente e pessoa
num unico formulario o usuário digita os dados do cliente e da pessoa quando ele clicar em salvar é executada uma rotina que alem de gravar faz o relacionamento
e na hora de exibir no grid eu mostro atravéz de um outro objeto de tabela usando uma sql que junta todos os dados
GOSTEI 0