Ver Mensaje Individual
  #106  
Antiguo 27-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Reputación: 20
Delphitest Va por buen camino
Pues ahora si que necesito ayuda porque me he quedado en blanco

Ando con el tema de los famosos cálculos.

Ya he conseguido, creando un campo calculado en la tabla TDesgloseAlbaran y llamado Importe, que me de un importe en cada linea de albaran.

Lo he añadido desde el DTMGesatrans y en la tabla he metido en el evento OnCalcFields

Código Delphi [-]
procedure TDTMGesatrans.TDesgloseAlbaranCalcFields(DataSet: TDataSet);
begin
  TDesgloseAlbaranImporte.AsCurrency := TDesgloseAlbaranPortes.AsFloat + TDesgloseAlbaranReexpedicion.AsFloat + TDesgloseAlbaranOtros.AsFloat;
end;

Esa parte funciona sin problemas.

Ahora necesito que el Campo Base de la Tabla TAlbaranes sea la suma del campo importe (de TDesgloseAlbaran) teniendo en cuenta como filtro que todas las lineas a sumar tienen en comun el campo Num_Albaran.

A simple vista no tiene mucha complicación pero creo que el SQL me tiene manía, os digo lo que he hecho pero que no funciona:

He creado en el form del albaran una Query llamada ADOQAlbaran enlazada logicamente con TDesgloseAlbaran, hasta ahí creo que voy bien.

Ahora para el calculo (solo para probar) he puesto un botón y en el evento OnClick estoy probando esto:

Código Delphi [-]
  ADOQAlbaran.Active := False;
  ADOQAlbaran.Sql.add ('Select sum(Importe) as TotalImporte');
  ADOQAlbaran.Sql.add ('From Desglose_Albaran');
  ADOQAlbaran.Sql.add ('Where Num_Albaran = StrToInt (DBEdit1.text)');
  ADOQAlbaran.Active := True;
  ShowMessage('El importe total es ' + TotalImporte.AsCurrency);

De momento solo me conformo con que aparezca ese mensaje con el total para comprobar que esté bien, luego la finalidad es que lo ponga en DBEdit24.

DBEdit1 para que os orienteis es la casilla donde ya está el núm de albarán.

No funciona de esta manera pero soy incapaz de saber porque. Para empezar tengo que poner como nombre de tabla Desglose_Albaran (que es nombre original de access) en vez de TDesgloseAlbaran (que es el que tengo en el DT), eso me da igual pero no lo entiendo.

Luego el error me lo da diciendo que TotalImporte no está declarada.

Importe es de tipo Currency por cierto.

No paso de aqui.

Si alguno me podeis echar una mano os lo agradezco, veo que el sql y yo somos muy diferentes

Gracias por adelantado
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita