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

Cita:
Si te da fallo al compilar, supongo que el error estará en la línea:

nAux2 := FrmDModule.TbEconoIMPORTE.value;
tenía declarado el campo IMPORTE como campo calculado en la tabla, pero, efectivamente, con esto, que me comentaste,

Cita:
nAux2 := FrmDModule.TbEcono.FieldByName('IMPORTE').value;
no necesito declararlo, cosa que prefiero.

En cuanto al error que me da, es como si en este procedure buscase campos, que tengo declarados en el IDDataSet, que son de la tabla, pero que en este caso no necesito, y no he declarado en el select del SQL.

Por ejemplo. El campo ASIENTO, lo tengo declarado en la tabla econo.

Si le paso a la propiedad SelectSQL con el código,


quote:
--------------------------------------------------------------------------------

TRY
dbPos := FrmDmodule.TbEcono.Getbookmark;
FrmDmodule.TbEcono.Disablecontrols;
FrmDModule.TbEcono.Close;
//borramos el contenido de la propiedad SelectSQL
FrmDModule.TbEcono.SelectSQL.Clear;
//le asignamos el SQL que tenía al inicio la tabla
FrmDModule.TbEcono.SelectSQL.Add('select NUMCLI, SUM(0 - econo.impdebe + econo.imphaber) IMPORTE');
FrmDModule.TbEcono.SelectSQL.Add('from econo');
FrmDModule.TbEcono.SelectSQL.Add('WHERE NUMCLI =:NUMCLI’);
FrmDModule.TbEcono.SelectSQL.Add('GROUP BY NUMCLI’);
FrmDModule.TbEcono.SelectSQL.Add('ORDER BY NUMCLI ');
FrmDModule.TbEcono.Open;
nAux2 := FrmDModule.TbEcono.FieldByName('IMPORTE').value;


lblSaldo.Caption := formatFloat('#,##0.00 €',nAux2);
FINALLY

FrmDmodule.TbEcono.GotoBookmark(dbPos);
FrmDmodule.TbEcono.FreeBookmark(dbpos);
FrmDmodule.TbEcono.EnableControls;
END;


--------------------------------------------------------------------------------
No estoy incluyendo dicho campo en la la consulta SQL, y me resulta el siguiente error:


Cita:
Project xxx raised exception class EDatabaseError with message 'TbEcono: Field 'ASIENTO' not found
He estado viendo posibles formas de añadir, en la consulta sql , estos campos que me va pidiendo, pero si los añado a la consulta, esta queda mucho más complicada, y no me devuelve un registros, como hace esta, sino varios, lo cual no me interesa.

¿Hay alguna manera de que no me los pida?

Tal vez todo esto tenga que ver con que estoy trabajando con un DataModule en el que tengo un IBDataSet, TbEcono, al que le cambio el código del selectSQL, cuando quiero cambiar de consulta , en vez de crearme otro IBDataSet nuevo, para la nueva consulta.

De este IBDataSet tira un DBGrid, (por eso necesito tener declarados los campos), y a la vez pretendo que me haga, de un modo puntual, estas consultas que os he puesto, para que me calcule si el usuario debe dinero o no.

Muchas gracias por todo,

Saludos,

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