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