Ver Mensaje Individual
  #3  
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
Hola hombregordo,

tomando literalmente el titulo, no se puede sumar un campo que no existe. Si lo que quieres es sumar los resultados de varios campos calculados anteriormente, deberias :
- o bien guardar los valores de los resultados que posteriormente quieres sumar en variables.
- o ejecutar todo en una unica consulta.

Mirando los hilos anteriores (muy por encima) :

- resultado := unidades * multiplicador, con cierta condicion
- totalganancia := sumatorio de ganancias.

Creo que lo que quieres es sumar varios resultados segun ciertas condiciones (corrigeme si me equivoco, pues me he liado un poco) entonces o bien creas varias consultas y vas sumando

Código Delphi [-]
resultado := 0;
q.Active := false;
q.sql.text := 'select unidades * ' + editmult1.text + ' as RESULTADO from tabla where ---condiciones 1 ---';
q.active := true;
resultado := resultado + q.FieldByName('RESULTADO').Asfloat;

q.Active := false;
q.sql.text := 'select unidades * ' + editmult2.text + ' as resultado from tabla where ---condiciones 2 ---';
q.Active := true;
resultado := resultado + q.FieldByName('resultado').asfloat;
...
showmessage(FormatFloat('0.0000',resultado);


o bien creas una unica consulta sql compleja
Código Delphi [-]
q.active := false;
q.sql.text := 'select ((select unidades * ' + mult1.text + ' as res1 from tabla where --cond1--)  +  (select unidades * ' + mult2.text + ' as res2 from tabla where --cond2--) + ... + (select unidades * ' + multn.txt + ' as resn from tabla where ---condn---) as resultado_total from tablas';
q.active := true;
ShowMessage(FormatFloat('0.000',q.FieldByname('resultado_total').Asfloat);

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