Ola!
Estou com um problema enorme e nao consigo arrumar de jeito nenhum.
Tenho um button onde nele eu salvo registros em duas tabelas com este
codigo:
procedure TfrmTransacao.btSalvacqClick(Sender: TObject);
Var
 NDias : Integer;
 Juros,Liq,VPorc,TotLiq,TotBruto : Currency;
 VrTotal : String;
begin
  NDias := 0;
  VPorc := 0;
  TotLiq := 0;
  TotBruto := 0;
  if edtValor.Text <> '' then
   Begin
    btAdCheque.Enabled := True;
    btSalvaCq.Enabled := False;
    btCancelaCq.Enabled := False;
    with tbCheques  do
     Begin
      FieldbyName('Valor').asCurrency := edtValor.asCurrency;
      FieldbyName('NomeCheque').asString := edtNome.Text;
      FieldbyName('NumCheque').asString := edtNumCheque.Text;
      FieldbyName('CodCli').AsInteger :=
Form1.tbClientes.FieldbyName('CodCli').asInteger;
      FieldbyName('Vencimento').AsDateTime := dtVencimento.Date;
      FieldbyName('Data').asDateTime := dtDataTroca.Date;
      FieldbyName('Vale').AsBoolean := ckVale.Checked;
      FieldByName('PegoDe').asString :=
Form1.tbClientes.FieldbyName('Empresa').asString;
      FieldbyName('CodTrans').asInteger := Cod;
      Post;
     End;
    with tbBordero do
     Begin
      FieldbyName('CodCk').asInteger :=
tbCheques.FieldbyName('CodCk').asInteger;
      FieldbyName('CodTrans').asInteger := Cod;
      // Numero de Dias
      NDias :=
NumDays(dtDataTroca.Date,tbCheques.FieldbyName('Vencimento').AsDateTime);
      FieldbyName('NumDias').asInteger := NDias;
      // Juros
      Juros :=
CalculaDesconto(NDias,tbCheques.FieldbyName('Valor').asCurrency,4);
      FieldbyName('Juros').asCurrency := Juros;
      edtJuros.Text := CurrtoStr(edtJuros.asCurrency + Juros);
      tbTrans.Edit;
      tbTrans.FieldbyName('Juros').AsCurrency  := edtJuros.asCurrency;
      //Total Liquido
      Liq := tbCheques.FieldbyName('Valor').asCurrency - Juros;
      FieldbyName('Liquido').AsCurrency := Liq;
      edtLiquido.Text := CurrtoStr(edtLiquido.asCurrency + Liq);
      tbTrans.FieldbyName('Liquido').AsCurrency := edtLiquido.asCurrency;
      //total bruto
      VPorc := (edtLiquido.asCurrency * 0.38) / 100;
      TotLiq := edtLiquido.asCurrency - VPorc;
      TotBruto :=  edtBruto.asCurrency + TotLiq;
      edtBruto.Text := FormatFloat('0.00',TotBruto);
      tbTrans.FieldByName('Bruto').asCurrency := edtBruto.asCurrency;
      tbTrans.Post;
      Post;
     End;
    edtValor.Enabled := False;
    edtNumCheque.Enabled := False;
    edtNome.Enabled := False;
    dtVencimento.Enabled := False;
    ckVale.Enabled := False;
   End
  Else
   MessageDlg('Entre com algum valor nos campos.',mtWarning,[mbOk],0); 

end;

O problema e q toda vez q eu o aperto eu recebo uma menssagem dessas:
Project factoring.exe raised an exception class eoleexception with
message"Row cannot be located for updating.Some values may have been 
changed since last time it was read."

Os dados na tabela cheques sao salvos mas os dados da tabela bordero nao.

Isso tudo comecou acontecer depois q eu mudei um campo na minha tabela
de text pra currency.Tudo tava funcionando perfeitamente.

Ja criei outro banco mas nada adianta.

E eu tenho outro form onde eu faco uma query com este sql:
select * from transacao t,cheques ck,bordero b
where t.codtrans = :cd
and b.codtrans = t.codtrans
and b.codck = ck.codck

e tenho dbedits ligados tudo certinho, mas nao mostra nada...em outro
form tenho outro dbgrid ligado a tabela cheques q tambem ta ligado
neste form q nao aparece nada ,mas la ele e mostrado.


O que posso fazer?

Estou usando delphi 7 com msaccess.

Se quiserem baixar o projeto www.eduardotavares.com.br/factoring.zip

Muito obrigado!




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 




Responder a