Si así lo tengo como tu lo has puesto
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;
Pero como comento, para aplicar la suma de toda la columna, cada vez que meto una cantidad y aplico el onexit se ejecuta el codigo anterior volviendo al comienzo de la columna.
Lo que no entiendo es si ese codigo se aplica asi o hay otras opciones en el que no tenga que cerrar el query.