Ver Mensaje Individual
  #1  
Antiguo 12-03-2008
pabloparra pabloparra is offline
Registrado
 
Registrado: feb 2008
Posts: 5
Reputación: 0
pabloparra Va por buen camino
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;
      sumcstoouble;
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 ;

Última edición por pabloparra fecha: 12-03-2008 a las 22:18:45.
Responder Con Cita