Problema ao dar um ´Post´
16/09/2004
0
Amigos,
Tenho um formulario Master do Master x Master x Detail...
:lol:
Seguinte:
O ´Master do Master´ é uma conta a pagar;
O Master é uma Movimentacao, que por sua vez devera ter o id da conta a pagar;
O Detail é os Itens da Movimentacao, que deverá ter o Id da Movimentacao...
Está ´tudo´ funcionando corretamente, se nao fosse o fato de ao dar um post no Conta a Pagar (IBDataSet.Post), o sistema retornar uma exception dizendo que a Chave Extrangeira IDCPagarReceber da Tabela Movimentação foi violada...
É como se eu tivesse tentando salvar a Movimentacao sem salvar a Conta a Pagar...
Detalhes: Estou dando o insert nos dois dataset de uma vez (assim IBDataSet1.Insert; IBDataSet2.Insert) pois quero digitar esses valores (Cpagar e Movimento) de uma vez só, mas na hora de salvar, salvo primeiro o CPagar e depois o Movimentacao (IBDataSet1.Post; IBDataSet2.Post)...
Teoricamente isto é possivel pois estou usando generator e quando dou um Insert nos dataSet, ele já me gera o código e eu passo como parametrto antes de salvar (IBDataSet2IDCPagarReceber.asInteger := IBDataSet1IDCPagarReceber.asInteger);
Já verifiquei e essa variavel está sendo passada ok!
Mas como eu já disse, e como se eu tivesse tentando salvar a Movimentacao sem salvar a Conta a Pagar...
Alguem pode me dizer o que posso fazer?
Estou usando IBDataSet (Delphi 7 + FireBird)
Tenho um formulario Master do Master x Master x Detail...
:lol:
Seguinte:
O ´Master do Master´ é uma conta a pagar;
O Master é uma Movimentacao, que por sua vez devera ter o id da conta a pagar;
O Detail é os Itens da Movimentacao, que deverá ter o Id da Movimentacao...
Está ´tudo´ funcionando corretamente, se nao fosse o fato de ao dar um post no Conta a Pagar (IBDataSet.Post), o sistema retornar uma exception dizendo que a Chave Extrangeira IDCPagarReceber da Tabela Movimentação foi violada...
É como se eu tivesse tentando salvar a Movimentacao sem salvar a Conta a Pagar...
Detalhes: Estou dando o insert nos dois dataset de uma vez (assim IBDataSet1.Insert; IBDataSet2.Insert) pois quero digitar esses valores (Cpagar e Movimento) de uma vez só, mas na hora de salvar, salvo primeiro o CPagar e depois o Movimentacao (IBDataSet1.Post; IBDataSet2.Post)...
Teoricamente isto é possivel pois estou usando generator e quando dou um Insert nos dataSet, ele já me gera o código e eu passo como parametrto antes de salvar (IBDataSet2IDCPagarReceber.asInteger := IBDataSet1IDCPagarReceber.asInteger);
Já verifiquei e essa variavel está sendo passada ok!
Mas como eu já disse, e como se eu tivesse tentando salvar a Movimentacao sem salvar a Conta a Pagar...
Alguem pode me dizer o que posso fazer?
Estou usando IBDataSet (Delphi 7 + FireBird)
Rafaelunp
Curtir tópico
+ 0
Responder
Posts
17/09/2004
Nelson_prog
Nesse caso vc terá que gravar primeiro a contas a pagar para depois gravar a movimento.
Eu faria de outra forma...
Criaria uma trigger no before insert da contas a pagar com a finalidade de alimentar a tabela de movimentação..
Espero ter ajudado!
Nelson
Eu faria de outra forma...
Criaria uma trigger no before insert da contas a pagar com a finalidade de alimentar a tabela de movimentação..
Espero ter ajudado!
Nelson
Responder
17/09/2004
Rafaelunp
Nesse caso vc terá que gravar primeiro a contas a pagar para depois gravar a movimento.
Eu faria de outra forma...
Criaria uma trigger no before insert da contas a pagar com a finalidade de alimentar a tabela de movimentação..
Espero ter ajudado!
Nelson
Nelson
Eu já estou dando o Post em CPagar Antes do Post de Moviementacao...
E nao posso fazer esta trigger visto que nem todas as contas a pagar geram uma movimentação...
alguma outra sugestao?
Responder
Clique aqui para fazer login e interagir na Comunidade :)