Fórum Simples,mas ninguém responde!!!! #194306
11/11/2003
0
Sou iniciante, não consigo fazer uma relação master detail , sempre dá a mensagem key violation
tabela master
codigo N *
nome A 20
tabela detail
codigo N *
itens A 20
Na master uso uma table e na detail uma query
Código SQL da Query Detail:
Select * from Tabela where codigo = :codigo;
Na propriedade DataSource da Tabela Detail coloquei o DataSource da Tabela Master.
O que pode estar dando errado!!!!
tabela master
codigo N *
nome A 20
tabela detail
codigo N *
itens A 20
Na master uso uma table e na detail uma query
Código SQL da Query Detail:
Select * from Tabela where codigo = :codigo;
Na propriedade DataSource da Tabela Detail coloquei o DataSource da Tabela Master.
O que pode estar dando errado!!!!
Norotico
Curtir tópico
+ 0
Responder
Posts
11/11/2003
Aroldo Zanela
Colega,
A forma usual de Master/Detail é com objetos TTable, onde o Delphi se encarrega de cuidar da rolagem adequada do cursor. No entanto a forma que vc vez também funciona, mas da seguinte forma.
No evento AfterScroll da tabela Master coloque algo como:
Como parece que vc está utilizando Paradox, acho melhor vc utilizar TTable mesmo, pois possuem maior performance em banco de dados desktop (xBase e Paradox). Neste caso, existem muitos exemplos prontos na Web ou no help do Delphi.
A forma usual de Master/Detail é com objetos TTable, onde o Delphi se encarrega de cuidar da rolagem adequada do cursor. No entanto a forma que vc vez também funciona, mas da seguinte forma.
No evento AfterScroll da tabela Master coloque algo como:
qDetalhe.Close; qDetalhe.ParamByName(´CODIGO´).AsInteger := qMestre.FieldByName(´CODIGO´).AsInteger; qDetalhe.Open;
Como parece que vc está utilizando Paradox, acho melhor vc utilizar TTable mesmo, pois possuem maior performance em banco de dados desktop (xBase e Paradox). Neste caso, existem muitos exemplos prontos na Web ou no help do Delphi.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)