Problemas com Operações

Delphi

Banco de Dados

18/03/2018

Estou enfrentando um problema ao fazer operações simples como:

    dmCantina.ztrCaixas_saldo_total.Value :=   dmCantina.ztrCaixas_saldo_total.Value +  FieldByName('Total').Value;


Ele simplesmente dá um valor exorbitante exemplo ta com 50 o saldo total ai vou adicionar mais 30 no Total vai para 110 ao invés de ir para 80

Segue o Código completo abaixo:

     Params[0].Value := dsVenda.DataSet.FieldByName('v_id').Value;
    Open;
    dsVenda.DataSet.Edit;
    dsVenda.DataSet.FieldByName('v_total').Value := FieldByName('Total').Value;

    if dmcantina.ztrCaixa.locate ( 's_id', dmCantina.ztqrCaixaids_caixa_aberturaid.Value, []) then
    begin
    dmcantina.ztrCaixa.Active;
    dmcantina.ztrCaixa.Edit;
    dmCantina.ztrCaixas_saldo_total.Value :=   dmCantina.ztrCaixas_saldo_total.Value +  FieldByName('Total').Value;
    dmcantina.ztrCaixa.Post;
    end;
Michel

Michel

Curtidas 0

Melhor post

Luiz Vichiatto

Luiz Vichiatto

19/03/2018

Michel
o Active você tem que dar antes de fazer o Locate, caso contrário irá apontar para o primeiro item da tabela, e não mais o que você consultou.

Params[0].Value := dsVenda.DataSet.FieldByName('v_id').Value;
Open;
dsVenda.DataSet.Edit;
dsVenda.DataSet.FieldByName('v_total').Value := FieldByName('Total').Value;
dmcantina.ztrCaixa.Active; 
if dmcantina.ztrCaixa.locate ( 's_id', dmCantina.ztqrCaixaids_caixa_aberturaid.Value, []) then
begin
dmcantina.ztrCaixa.Edit;
dmCantina.ztrCaixas_saldo_total.Value :=   dmCantina.ztrCaixas_saldo_total.Value +  FieldByName('Total').Value;
dmcantina.ztrCaixa.Post;
end;
GOSTEI 1
POSTAR