Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   sumar los campos de un stringgrid (https://www.clubdelphi.com/foros/showthread.php?t=73641)

Caral 09-05-2011 23:25:50

Hola
Ni idea...
Saludos

Rofocale 10-05-2011 17:37:53

Código Delphi [-]
        dmDatos.cdsCliente.Active := false;
        with dmDatos.qryListados do begin
            Close;
            SQL.Clear;
            SQL.Add('SELECT caja, numero, fecha, hora, estatus, total-iva AS subtotal,');
            SQL.Add('iva, total,cliente, clave FROM ventas');

            if(chkCliente.Checked) then
            begin
                SQL.Add('AND cliente IN (SELECT clave FROM clientes WHERE nombre LIKE ''%' + txtClienteBusq.Text + '%'')');
            end;

            if(chkFecha.Checked) then
            begin
                with dmDatos.qryConsulta do
                begin
                if Active then Close;
                SQL.Clear;
                SQL.Add('SELECT fecha,total,sum(total) AS gtotal FROM ventas WHERE fecha = :fecha GROUP BY fecha,total');
                parambyname('fecha').AsDate := FechaBusq.date;
                open;
                txtTotalventa.text := floattostr(FieldByName('gtotal').AsFloat);
                end;
            end;
            open;

hola esto es lo que hize ahora pero al apretar el check para seleccionar una fecha no filtra por fecha siguen apareciendo todas las fecha y en el edit no suma el sum(total) de todos los campos solo aparece del primer campo de la fecha si en el dia 6 hay 2 campos con un total de 2.5 y 3.5 en ves de salir 6 sale solo 2.5 alguien me da una mano ?
gracias

Rofocale 10-05-2011 20:44:43

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;
                txtTotalventa.text := floattostr(FieldByName('gtotal').AsFloat);
                end;

            with dmDatos.cdsCliente do begin
            Active := true;

            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;

           end;
    end

hola necesito saber como podria arreglar este codigo en la parte de group by.. ya que no me funciona bien el filtro

al probarlo de esta forma
Código Delphi [-]
SQL.Add('SELECT f sum(f.total) AS gtotal FROM ventas f WHERE f.fecha = :fecha');
                parambyname('fecha').AsDate := FechaBusq.date;
                open;
.....

el filtro funciona bien osea me suma los campos por fecha pero obviamente no me muestra nada mas que el resultado en el edit ya que no tengo mas campos agregados.. pero si les agrego los campos como en el codigo de arriba al select
me pide un group by clause
agrego el group by y los campos

pero a probarlo ya no me suma los campos correctamente y ya no filtra por fecha aparecen todos los registros de todas las fechas y al sumar solo suma el primer campo

alguien me ayuda.. que estoy haciendo mal

gracias


La franja horaria es GMT +2. Ahora son las 03:28:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi