Ver Mensaje Individual
  #4  
Antiguo 05-08-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
tambien puedes hacer, de la primera manera (por variables) mediante un bucle

Código Delphi [-]
var
   resultado : float;
   cn : TStringList;
   ml  : TStringList;
begin
   resultado := 0;
   cn := TStringList.Create;
   ml := TStringList.Create;
  
   cn.Add('--condicion 1 --'); //data = 01/01/1999, por ejemplo
   cn.Add('--condicion 2 --');
   ...
   cn.Add('--condicion n --');

   ml.Add(multiplicador1.Text);
   ml.Add(multiplicador2.text);
   ...
   ml.Add(multiplicadorn.text);

   resultado := 0;
   for i := 0 to cn.Count - 1 do
   begin
          q.Active := false;
          q.SQL.Text := 'select unidades * ' + ml[i] + ' as RESULTADO from tabla where ' + cn[i];
          q.Active := true;
          resultado := resultado + q.FieldByName('RESULTADO').Asfloat;
   end;
   ml.Free;
   cn.Free;
end;

venga espero q te sirva. Saludos.

Última edición por coso fecha: 05-08-2008 a las 13:46:05.
Responder Con Cita