Código Delphi
[-]
if(chkFecha.Checked) then
begin
dmDatos.cdsCliente.Active := false;
with dmDatos.qryListados do begin
if Active then Close;
SQL.Clear;
SQL.Add('SELECT f.caja,f.numero,f.fecha,f.hora,f.estatus,f.total-f.iva AS subtotal,f.iva,f.total,f.cliente,f.clave,sum(f.total) AS gtotal FROM ventas f WHERE f.fecha = :fecha GROUP BY f.caja,f.numero,f.fecha,f.hora,f.estatus,f.iva,f.total,f.cliente,f.clave');
parambyname('fecha').AsDate := FechaBusq.date;
open;
end;
with dmDatos.cdsCliente do begin
Active := true;
txtTotalventa.text := floattostr(FieldByName('gtotal').AsFloat);
txtRegistros.text := inttostr(dmDatos.cdsCliente.RecordCount);
FieldByName('caja').DisplayLabel := 'Caja';
FieldByName('caja').DisplayWidth := 4;
FieldByName('numero').DisplayLabel := 'Remisión';
FieldByName('numero').DisplayWidth := 8;
FieldByName('fecha').DisplayLabel := 'Fecha';
FieldByName('fecha').DisplayWidth := 9;
FieldByName('hora').DisplayLabel := 'Hora';
FieldByName('hora').DisplayWidth := 11;
FieldByName('estatus').DisplayLabel := 'Estatus';
FieldByName('estatus').DisplayWidth := 7;
FieldByName('subtotal').DisplayLabel := 'Subtotal';
FieldByName('subtotal').DisplayWidth := 10;
FieldByName('iva').DisplayLabel := 'IGV';
FieldByName('iva').DisplayWidth := 10;
FieldByName('total').DisplayLabel := 'Total';
FieldByName('total').DisplayWidth := 10;
FieldByName('cliente').Visible := false;
FieldByName('clave').Visible := False;
FieldByName('gtotal').Visible := False;
end;
end
hola a todos este codigo utilizo para filtrar registros de una base de datos.. pero la parte sum(total) no me suma solo me devuelve el resultado del primer registro
Código Delphi
[-]
SQL.Add('SELECT sum(f.total) AS gtotal FROM ventas f WHERE f.fecha = :fecha')
ese codigo filtra por fecha y me devuelve bien la suma de todos los registros de tal fecha
jose 2.5 05/05/2011
maria 2.5 05/05/2011
carla 1.0 06/05/2011
si lo filtro por fecha 5 solo sale en un text el total de gtotal que seria 5
todo bien ahi ahora como veran no solo necesito la suma del total en un edit si no que tmb me muestre el filtrado asi
jose 2.5 05/05/2011
maria 2.5 05/05/2011
ahora implemento el codigo asi
Código Delphi
[-]
QL.Add('SELECT f.caja,f.numero,f.fecha,f.hora,f.estatus,f.total-f.iva AS subtotal,f.iva,f.total,f.cliente,f.clave,sum(f.total) AS gtotal FROM ventas f WHERE f.fecha = :fecha')
y como aumente todos los campos que se necesita para que se muestre ahora aparte de en un edit el total tambien en un GRID
me sale que necesito un group by clause
Código Delphi
[-]
SQL.Add('SELECT f.caja,f.numero,f.fecha,f.hora,f.estatus,f.total-f.iva AS subtotal,f.iva,f.total,f.cliente,f.clave,sum(f.total) AS gtotal FROM ventas f WHERE f.fecha = :fecha GROUP BY f.caja,f.numero,f.fecha,f.hora,f.estatus,f.iva,f.total,f.cliente,f.clave');
lo implemento asi y me filtra bien me muestra los resultados si filtro por fecha 05/05/211 esto
jose 2.5 05/05/2011
maria 2.5 05/05/2011
pero en el edit me sale solo 2.5
ese es mi problema que ahora ya no me suma el total, creo que estoy haciendo algo mal con el group by
necesito que me ayuden porfavor muchas gracias de antemano