Ver Mensaje Individual
  #9  
Antiguo 24-10-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Reputación: 24
Giniromero Va por buen camino
Hola,


Este es el código con el que consigo que no me de fallos, y me abra la aplicación,

Cita:

PROCEDURE xxxx;
var nAux2: variant;
begin


nAux2:= 0;

Q := TIBQuery.Create(Self);
Q.Database := FrmDmodule.TbEcono.Database;

TRY
Q.Close;
//borramos el contenido de la propiedad SelectSQL
Q.SQL.Clear;
//le asignamos el SQL que tenía al inicio la tabla
Q.SQL.Add('select NUMALU, SUM(0 - econo.impdebe + econo.imphaber) IMPORTE');
Q.SQL.Add('from econo');
Q.SQL.Add('where NUMALU = ' + FrmDModule.TbAlumnosNUMALU.AsString);
Q.SQL.Add('GROUP BY NUMALU ');
Q.SQL.Add('ORDER BY NUMALU ');
Q.Open;
nAux2 := Q.FieldByName('IMPORTE').AsFloat;


lblSaldo1.Caption := formatFloat('#,##0.00 €',nAux2);
FINALLY
FreeAndNil(Q);
END;
lo que pasa, es que, no siempre me muestra, como es de esperar, el saldo real que tiene cada cliente. Creo que, cuando se encuentra campos con valor null, directamente hace mal el calculo, esto es, no considera 0 ese campo null, y no hacer la suma correspondiente. ¿Alguna idea?


Cita:
A la query le estas pasando una variable. De donde la sacas? no veo que se la asignes!!!
eso a sido un despiste del programador ;-)

Cita:
lo más importante es que verifiques que la consulta devuelva algún valor y que no sea nulo antes de hacer asignaciones
y ¿cómo verifico esto?

Gracias por todo, a todos,

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)

Última edición por Giniromero fecha: 24-10-2003 a las 11:23:07.
Responder Con Cita