Salvar em 2 tabelas ao mesmo tempo...

04/12/2003

7

estou usando o seguinte código para salvar em duas tabelas ado/access mas não acontece nada.

    dmExp.tblLancaContas.Insert;
    dmExp.tblLancaContas.FieldByName(´DATA´).AsDateTime := DMeXP.tblCheques.FieldValues[´DATA´].AsDateTime;
    dmExp.tblLancaContas.FieldByName(´VALOR´).AsCurrency := DMeXP.tblCheques.FieldValues[´VALOR´].AsCurrency;
    dmExp.tblLancaContas.FieldByName(´OPERACAO´).AsString := ´D´;
    dmExp.tblLancaContas.FieldByName(´OBS´).AsString := DMeXP.tblCheques.FieldValues[´DESCRICAO´].AsString;
    dmExp.tblLancaContas.FieldByName(´DESCRICAO´).AsString := ´CHQ Nº´ + IntToStr(DMeXP.tblCheques.FieldValues[´NUMERO´].AsInteger);
    dmExp.tblLancaContas.Post;


o que pode estar errado?

Obrigado,

Douglas.


Responder

Posts

04/12/2003

Luineumann

a tabela de cheques tem algum tipo de filtro? após o post de cheques, se houver um fltro e o registro incluído não atende o filtro, o registro corrente não será o incluído


Responder
filtro não tem, mas ela tá relacionada com uma tabela de contas de bancos.
o relacionamento e feito em 3 campos (banco, agencia, conta).

acrescentei[b:b0ee53917b] dmExp.tblCheques.Edit; [/b:b0ee53917b]no inicio do código e lançou legal, mas...
agora tá dando este erro:

Agora tá dando sistem error code 87??

ce ja´viu alguma vez?


Responder
esqueci uma coisa, dá esse código de erro doido ai e não salva na tabela de cheques o que foi lançado. somente na tabela de contas.
a tabela de cheques é onde acontece o lançamento. e a de contas é a que recebe também junto com a de cheques.


Responder
Consegui fazer gravar nas duas tabelas, mas o que está acontecendo agora é que na tabela destino, a data fica como a data inicial do calendário (30/12/1899), a concatenação de valores não acontece, e o valor fica zerado.

eis o código atual:

    dmExp.tblCheques.Edit;
    dmExp.tblLancaContas.Insert;
    dmExp.tblLancaContas.FieldByName(´DATA´).AsDateTime := (DMeXP.tblChequesEMISSAO.AsDateTime);
    dmExp.tblLancaContas.FieldByName(´VALOR´).AsCurrency := (DMeXP.tblChequesVALOR.AsCurrency);
    dmExp.tblLancaContas.FieldByName(´OPERACAO´).AsString := ´D´;
    dmExp.tblLancaContas.FieldByName(´DESCRICAO´).AsString := (´CHQ Nº ´ + DMeXP.tblChequesNumeroCheque.Text + DMeXP.tblChequesDescricao.Text);
    dmExp.tblLancaContas.Post;


o que pode ser agora?


Responder
Obrigado Luineumann

coloquei o código acima no evento AfterPost da tabela de entrada dos dados e funcionou!!

valeu a força!

[]s

Douglas.


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira