Ver Mensaje Individual
  #2  
Antiguo 14-08-2012
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Reputación: 20
anubis Va por buen camino
Hola,
Perdonad que escriba como respuesta pero no me deja editar el post.

Si algo aprendi, creo, es que el campo calculado no existe porque no está directamente en la tabla de ahí que me de error, asi que lo he tenido que hacer de esta forma:

Código Delphi [-]
aceites.close;
 ACEITES.SQL.Clear;
  ACEITES.SQL.Text:='SELECT SUM(PRECIO*cantidad) as sumatorio from aceites';
 ACEITES.OPEN;
    LABEL8.CAPTION:='$'+INTToStr(ACEITES.Fieldbyname('sumatorio').asINTEGER);
    ACEITES.SQL.CLEAR;
    ACEITES.SQL.TEXT:='SELECT * FROM ACEITES';
  aceites.Active:=true;

Esto funciona, pero como estoy trabajando con dbgrid, cada vez que se actualiza la suma, al ir llenando las celdas, el cursor vuelve al principio de la columna, si, esto seria normal porque cierro y abro la tabla, pero en otros programas comerciales no pasa eso, el total se actualiza de forma transparente para el usuario puesto que no cambia de celda volviendo al principio.

El código anterior es así o hay otra forma de hacerlo, si es lo primero, como puedo evitar que vuelva al principio.

Ya puestos, el total lo he puesto en un label, sería mas correcto meterlo en un stringgrid o un dbgrid?.

Saludos y gracias

Para actualizar el dbgrid uso DBGrid3EditingDone, aunque he probado otros.

Última edición por anubis fecha: 14-08-2012 a las 05:30:06.
Responder Con Cita