Master/Detail num DBGrid em autoedit não está funcionando
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 ?
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
Curtidas 0
Respostas
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
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