Salvar em 2 tabelas ao mesmo tempo...

Delphi

04/12/2003

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.


Douglas Bitencourt

Douglas Bitencourt

Curtidas 0

Respostas

Luineumann

Luineumann

04/12/2003

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


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

04/12/2003

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?


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

04/12/2003

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.


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

04/12/2003

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?


GOSTEI 0
Douglas Bitencourt

Douglas Bitencourt

04/12/2003

Obrigado Luineumann

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

valeu a força!

[]s

Douglas.


GOSTEI 0
POSTAR