3 DBGrids trabalando ao mesmo tempo !
22/03/2003
0
Tenho um formulário com 3 DBGrids, no primeiro tenho os dados de eventos , no segundo categoria, e no terceiro participantes . Tenho duas questões : 1º - Como posso criar o relacionamento delas da melhor forma. 2º - Estas três tabelas trabalharam da seguinte maneira, no DBGrid ao clicar em um evento posso ter uma ou mais categorias ( lista todas as cadastradas ou relacionadas ) e ao clicar em uma categoria( lista todas as cadastradas ou relacionadas ) posso ter N participantes ( lista todos os cadastrados ou relacionados )
Eu sei que pode ser um pouco custoso mas agradeço toda ajuda possivel.
Anteciosamente
Washington M. Almeida
Eu sei que pode ser um pouco custoso mas agradeço toda ajuda possivel.
Anteciosamente
Washington M. Almeida
Kanedasam
Curtir tópico
+ 0
Responder
Posts
23/03/2003
Anonymous
Suponha 3 tabelas: 1) Eventos.db, 2) Categorias.db e 3) Participantes.db.
Deverão ter sido construídas como Mestre/Detalhe da seguinte maneira:
Eventos.db é Mestre e Categorias.db é sua tabela Detalhe. E também
Participantes.db é Detalhe da tabela Categoria.db.
Portanto, a tabela ´do meio´, Categorias.db, é simultaneamente Detalhe (de
Eventos.db) e também Mestre (de Participantes,db).
Depois de criadas corrretamente as tabelas e o relacionamento Mestre/Detalhe entre elas, cada um dos dbgrids deverá estar associado a cada uma dessas tabelas. Estando as tabelas ativas (dataset.open ou dataset.active := true) e cada um dos 3 datasource corretamente interliga
dos com as 3 tabelas (supondo ttable) e com os 3 dbgrids, você poderá fazer o seguinte: No evento CellClick dos dois primeiros dbgrids (ou seja, assim que clicar em uma das linhas (registo) do dbgrid), escrever uma instrução que filtre a tabela Detalhe correspondente, conforme o campo comum das duas tabelas. É só repetir o mecanismo para as outras tabelas/dbgrids.
Uma outra abordagem, seria usar TQuery. Espero ter ajudado. CarlosRM.
Deverão ter sido construídas como Mestre/Detalhe da seguinte maneira:
Eventos.db é Mestre e Categorias.db é sua tabela Detalhe. E também
Participantes.db é Detalhe da tabela Categoria.db.
Portanto, a tabela ´do meio´, Categorias.db, é simultaneamente Detalhe (de
Eventos.db) e também Mestre (de Participantes,db).
Depois de criadas corrretamente as tabelas e o relacionamento Mestre/Detalhe entre elas, cada um dos dbgrids deverá estar associado a cada uma dessas tabelas. Estando as tabelas ativas (dataset.open ou dataset.active := true) e cada um dos 3 datasource corretamente interliga
dos com as 3 tabelas (supondo ttable) e com os 3 dbgrids, você poderá fazer o seguinte: No evento CellClick dos dois primeiros dbgrids (ou seja, assim que clicar em uma das linhas (registo) do dbgrid), escrever uma instrução que filtre a tabela Detalhe correspondente, conforme o campo comum das duas tabelas. É só repetir o mecanismo para as outras tabelas/dbgrids.
Uma outra abordagem, seria usar TQuery. Espero ter ajudado. CarlosRM.
Responder
23/03/2003
Kanedasam
[size=18:d4482c37f5][color=blue:d4482c37f5]Obridado CarlosRM ![/color:d4482c37f5][/size:d4482c37f5]
Por ter me orientado pelo caminho das pedra.
Washington M. Almeida
Por ter me orientado pelo caminho das pedra.
Washington M. Almeida
Responder
Clique aqui para fazer login e interagir na Comunidade :)