Simples,mas ninguém responde!!!!
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
Curtidas 0
Respostas
Aroldo Zanela
11/11/2003
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.
GOSTEI 0