dbExpress - Gravar mestre/detalhe
21/02/2003
0
:oops: Pessoal,
num programa para gravar pedidos e seus itens, estou usando SQLDataSet, Provider e ClientDataSet, e fiz a ligação com o DataSetField
no CDS da tab. Itens.
Fiz um teste colocando num form um dbGrid p/ Pedidos e um dbNavigator,
e outro dbGrid p/ Itens tb com navigator, e funcionou bem, fazendo as inclusões corretamente.
Depois fiz um form melhorado, com botões p/ incluir, gravar, procurar, etc..., e a gravação do Pedido faz correto, mas quando vai gravar Itens,
aparece a mensagem ´Field value required´.
Pelo que pude observar, é no momento que faço o Append da tabela Itens.
O que será que esta faltando, ou sobrando???
Aguardo dicas e desde já, obrigado.
num programa para gravar pedidos e seus itens, estou usando SQLDataSet, Provider e ClientDataSet, e fiz a ligação com o DataSetField
no CDS da tab. Itens.
Fiz um teste colocando num form um dbGrid p/ Pedidos e um dbNavigator,
e outro dbGrid p/ Itens tb com navigator, e funcionou bem, fazendo as inclusões corretamente.
Depois fiz um form melhorado, com botões p/ incluir, gravar, procurar, etc..., e a gravação do Pedido faz correto, mas quando vai gravar Itens,
aparece a mensagem ´Field value required´.
Pelo que pude observar, é no momento que faço o Append da tabela Itens.
O que será que esta faltando, ou sobrando???
Aguardo dicas e desde já, obrigado.
Jack Stone
Curtir tópico
+ 0
Responder
Posts
24/02/2003
Anonymous
Olá,
Provavelmente está faltando você informar o valor do campo link da tabela mestre na tabela filho, pois apesar de você estar trabalhando com mestre detalhe ao incluir um registro na tebale filho ele não busca automaticamente o vaor do campo pai. Geralmente eu faço isso no evento OnNewRecords da tabela filho.
EX : TabFilho.fieldbyname(´CodigoPedido´).asinteger:=TabPai.fieldbyname(´CodigoPedido´).asinteger;
Provavelmente está faltando você informar o valor do campo link da tabela mestre na tabela filho, pois apesar de você estar trabalhando com mestre detalhe ao incluir um registro na tebale filho ele não busca automaticamente o vaor do campo pai. Geralmente eu faço isso no evento OnNewRecords da tabela filho.
EX : TabFilho.fieldbyname(´CodigoPedido´).asinteger:=TabPai.fieldbyname(´CodigoPedido´).asinteger;
Responder
Clique aqui para fazer login e interagir na Comunidade :)