Ver Mensaje Individual
  #9  
Antiguo 10-06-2004
silviodp silviodp is offline
Miembro
 
Registrado: may 2003
Ubicación: General Levalle, Argentina
Posts: 277
Reputación: 24
silviodp Va por buen camino
Suma de un campo

Ok, no hay problema, la estructura de las tablas es la siguiente:

TblConsumo:

IDConsumo (Numerico)
Facturan (N)
Fecha (Date)
Seccion (N)
Vehiculo (N)
Observacion (Memo)
Totalfactu (N)

TblDetproducto: (tabla detalle, es el detalle de la factura cargada, donde se cargan los productos, y se calcula el precio y el iva de cada uno, segun la cantidad)

Consumo (N)
IDDetal (N)
Producto (Alpha)
Cantidad (N)
Precunit (N)
Ivaunit (N)
Precneto (N)
Netoiva (N)
Precfinal (N)

Las dos tablas están relacionadas por la relación Maestro-Detalle mediante el campo IDConsumo en la primera (que es la Maestro) y Consumo de la segunda (Detalle).
Y bueno, a medida que voy cargando los productos en la tabla Detalle, quiero que me vaya Sumando en el campo Totalfactu de la Maestro el precio de cada producto cargado (es decir del campo Precfinal), que es el precio final de la factura...
Yo lo estoy haciendo así:
en el boton Grabar del form que me permite cargar un Producto
Código:
procedure TForm16.GrabarClick(Sender: TObject);
begin
  ModuloDatos.TblDetproducto.Post;
  Modulodatos.DSDetproducto.Enabled:=True;
  Form4.Modificar.Enabled:=True;
  Form4.Quitar.Enabled:=True;
  Close;
end;
y en el BeforePost de la tabla TblDetproducto hago
Código:
procedure TModuloDatos.TblDetproductoAfterPost(DataSet: TDataSet);
var
 x,y:Currency;
 n,m:Integer;
begin
 m:=ModuloDatos.TblDetproducto.RecordCount;
 For n:=1 To m Do
  begin
   x:=ModuloDatos.TblDetproducto.FieldValues['PRECFINAL'];
   y:=y+x;
  end;
  ModuloDatos.TblConsumos.FieldValues['TOTALFACTU']:=y;
end;
pero no funciona, es decir lo hace la primer vez pero cuando cargo otro producto, me arroja el resultado de sumar dos veces el último.
Haber si me pueden dar una idea.
Espero haber sido mas claro. Haaa, me olvidaba uso Paradox 7, y trabajo con Delphi 5.
Gracias.

Silvio.-
Responder Con Cita