Cita:
Empezado por BlueSteel
Hola Vichomo
oye.. podrias poner el codigo que utilizas para filtrar los registros (con y sin fecha), esto para ver como filtras... y además, poner el codigo de donde realizas la operación aritmetica... y así poder ver que puede estar pasando
|
este query es el principal, cuando me muestra todo su eestado de cuenta, los datos del cliente (cvecli) lo agarro de un dataset que me muestra todos los clientes y ahi le doy click a un cliente en un dbgrid y me muestra la pantalla con este query
fdetedo.sal:=0;
fdetedo.edocuenta.close;
fdetedo.edocuenta.SelectSQL.Text:= 'SELECT * FROM EDOCUENTA WHERE CVECLIMOV='''+IBEDO.FieldByName('CVECLI').AsString+'''ORDER BY FECHA, cveedo';
FDETEDO.edocuenta.Open;
fdetedo.Label2.Caption:=ibedo.fieldByName('RAZSO').AsString;
FDETEDO.ShowModal;
y la de la fecha es este:
ShortDateFormat := 'dd.mm.yyyy';
fecha1 := QuotedStr(DateToStr(DT1.Date));
fecha2 := QuotedStr(DateToStr(DT2.Date));
redoclientes.QRLabel5.Caption:=label2.Caption;
redoclientes.IBredocli.Close;
redoclientes.IBredocli.SQL.Clear;
redoclientes.IBredocli.SQL.Add('select e.cveedo, e.fecha, e.folio, e.cantid, e.concep, e.prevta, e.cargo, e.abono, e.saldomov, e.cveclimov,');
redoclientes.IBredocli.SQL.Add('e.cvepromov, p.despro from edocuenta e left join productos p on p.cvepro=e.cvepromov where');
redoclientes.IBredocli.SQL.Add('e.cveclimov='+fedocuenta.IBEDO.FieldByName('CVECLI').AsString+' and e.fecha between '+fecha1+' and '+fecha2+' order by e.fecha, e.cveedo');
ShortDateFormat := 'dd/mm/yyyy';
redoclientes.IBredocli.Open;
y el calculado esta en el evento oncalcfields
que es este
With edocuenta do begin
sal:=sal+(FieldByName('ABONO').AsFloat);
sal:=sal+(FieldByName('CARGO').AsFloat);
fieldbyname('saldoc').AsFloat:=sal;
end;
espero puedas ayudarme