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!!!!


Norotico

Norotico

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:

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar