Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   suma de campos calculados (https://www.clubdelphi.com/foros/showthread.php?t=54267)

pabloparra 12-03-2008 22:14:12

suma de campos calculados
 
Hola a Todos,

Necesito sumar unos campos calculados de una tabla detalle, para lograrlo sumo los campos en el evento afterscroll del query maestro empleando el siguiente procedimiento sumartotal. Además empleo una grilla SMDBGrid la cual tiene un footer que me permite visulializar los resultados de una manera muy presentable.

Código Delphi [-]
procedure TDtmMezcla.sumartotal();  //Procedimiento para sumar campos 
var    i:Integer;    
       SavePlace: TBookmark;
      sumcsto:Double;
begin     
with Querydetficha do begin     
SavePlace := GetBookmark;    
Disablecontrols;     
try     
sumcsto:=0;  //inicializo el acumulador
    pesoxtan:=sumcspt;
    First;
    while not eof do    
    begin       
     sumcsto:= Round_nDec(sumcsto+QuerydetfichaDET_CANT.Value,3);        //otras operaciones
    next;
    end;
    finally     
   GotoBookmark(SavePlace);     
    FreeBookmark(SavePlace);     
   Enablecontrols;     
  for i := 0 to FrmTabla2.DBGficha.Columns.Count-1 do     
  begin         
       with FrmTabla2.DBGficha.Columns[i]  do         
       begin         
          if (FieldName = 'DET_CANT') then 
             FooterValue := FloatToStrF(sumcsto, ffNumber, 6,3);   
       end;
  end;
 end;
end;

el problema es que necesito generar otro campo calculado el cual realiza los cálculos a partir de la suma del primer campo(sumcsto), los valores de este nuevo campo me dan bien pero no consigo aún sumar los datos de este nuevo campo porque no se que evento invocar ya que el debe primero sumar todos los campos calculados del primero y con este dato calcular el otro campo.

La grilla SMDBGrid en la editor de campos tiene unas propiedades relacionadas con el footer tales como footertype(suma,promedio,ect)
y footertext pero al emplearlas ella no me hace la suma automática, motivo por el cual utilizo el anterior procedimiento. Podría alguien colaborarme para lograr el sumar este nuevo campo, o si la grilla lo hace automáticamente podrían indicarme como?.

Gracias ;


La franja horaria es GMT +2. Ahora son las 16:49:38.

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