I confuse i crate a tbufferdataset ans start to add record i add only new record and validate if record exist on second record send me error.....
using locate but send me this error, just on
BDCarCli.Locate('numcli', SQLQRep.FieldByName('NumCli').AsString , [])
send me error....
BDCarCli.Open;
SQLQRep.First;
while( not SQLQRep.EOF) do begin
if not BDCarCli.Locate('numcli', SQLQRep.FieldByName('NumCli').AsString , []) then begin
BDCarCli.Append;
BDCarCli.FieldByName('NumCli').AsString:= SQLQRep.FieldByName('NumCli').AsString;
BDCarCli.FieldByName('NomCli').AsString:= SQLQRep.FieldByName('NomCli').AsString;
end else begin
BDCarCli.edit;
end;
if( SQLQRep.FieldByName('Dias').AsInteger<0) then begin
BDCarCli.FieldByName('PorVencer').AsFloat:=BDCarCli.FieldByName('PorVencer').AsFloat+ SQLQRep.FieldByName('Saldodoc').AsFloat;
end;
if( (SQLQRep.FieldByName('Dias').AsInteger>0) and(SQLQRep.FieldByName('Dias').AsInteger<=30) ) then begin
BDCarCli.FieldByName('Vdo0a30').AsFloat:= BDCarCli.FieldByName('Vdo0a30').AsFloat+SQLQRep.FieldByName('Saldodoc').AsFloat;
end;
if( (SQLQRep.FieldByName('Dias').AsInteger>30) and(SQLQRep.FieldByName('Dias').AsInteger<=60) ) then begin
BDCarCli.FieldByName('Vdo30a60').AsFloat:= BDCarCli.FieldByName('Vdo30a60').AsFloat+SQLQRep.FieldByName('Saldodoc').AsFloat;
end;
if( (SQLQRep.FieldByName('Dias').AsInteger>60) and(SQLQRep.FieldByName('Dias').AsInteger<=90) ) then begin
BDCarCli.FieldByName('Vdo60a90').AsFloat:= BDCarCli.FieldByName('Vdo60a90').AsFloat+SQLQRep.FieldByName('Saldodoc').AsFloat;
end;
if( (SQLQRep.FieldByName('Dias').AsInteger>90) ) then begin
BDCarCli.FieldByName('VdoMas90').AsFloat:= BDCarCli.FieldByName('VdoMas90').AsFloat+SQLQRep.FieldByName('Saldodoc').AsFloat;
end;
BDCarCli.FieldByName('Saldo').AsFloat:= BDCarCli.FieldByName('Saldo').AsFloat+SQLQRep.FieldByName('Saldodoc').AsFloat;
BDCarCli.post;
SQLQRep.next;
end;