Master/Detail num DBGrid em autoedit não está funcionando

Firebird

23/10/2004

Amigos,

Tenho dois datasets relacionados, conforme instruções do AFarias (ligando a propriedade datasource do dataset-detalhe ao componente Datasource do dataset-master, e com o ´select * from cotacao where item = :indice order by item´ no dataset-detalhe fazendo o relacionamento).

As tabelas são:

Master: Indice (Indice*, Tipo)
IGPM ¬
DOLAR $
REAL $

Detail: Cotação (Item*, Data*, Valor)
DOLAR 1/1/2004 3,00
DOLAR 2/1/2004 3,01
DOLAR 3/1/2004 3,05
IGPM 1/1/2004 10,00
IGPM 1/2/2004 11,00
IGPM 1/3/2004 12,00
REAL 1/1/2000 1,00

No datasource-detalhe o autoedit está true.

Existe um DBGrid para esta tabela detalhe que apresenta apenas as cotações do indice (master) atualmente em uso. Porém não estou conseguindo incluir novos registros através do DBGrid na tabela detalhe.

Surge a mensagem ´Campo ´ITEM´ deve ter um valor´, ou seja, está ficando vazio durante o insert automático do dbgrid. Já tentei colocar algo do tipo:

dm.tbCotacaoItem.value := dm.tbIndiceIndice.value;

na propriedade BeforePost do dataset-detalhe e nada...

No OnEnter do DBGrid coloquei:

dm.tbCotacao.edit;
dm.tbCotacaoItem.value := dm.tbIndiceIndice.value;

Com isso consegui incluir o primeiro registro, mas os demais não está dando.

Poderiam me ajudar ?


Aerreira

Aerreira

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

23/10/2004

Em vez do evento BeforePost, use o evento OnNewRecord da tabela detail para atribuir o valor do campo.


GOSTEI 0
Aerreira

Aerreira

23/10/2004

Em vez do evento BeforePost, use o evento OnNewRecord da tabela detail para atribuir o valor do campo.


Perfeito! Funcionou 100¬ Muito obrigado pela ajuda.


GOSTEI 0
POSTAR