Ver Mensaje Individual
  #2  
Antiguo 15-03-2005
diegoforever24 diegoforever24 is offline
Registrado
 
Registrado: nov 2004
Ubicación: Cartago, Colombia
Posts: 4
Reputación: 0
diegoforever24 Va por buen camino
Thumbs up Campos Calculados

Que tal Amigo...

Ya comprendo tu problema. Pues mira, si tienes una bd con los campos (Fecha, debe, haber) y un campo calculado que es Saldo.

Si coincido con lo anterior, lo más seguro es que cada vez que se activa el OnCalcFields te hace un descuento adicional que no es el objetivo.

TE RECOMIENDO LO SIGUIENTES, pues a mi en la mayoría de los casos lo aplico.

Será crear un ciclo de tal manera que todos los campos sean locales (no calculados). y a la hora de involucrar el valor inicial (saldo inicial digitarlo en el primer registro.


Ejemplo:

Procedure Calculos;

var
NuevoSaldo:integer

begin


Tabla1.First // Ubicar la tabla en el primer registro.

NuevoSaldo:=tabla1Saldo.AsInteger;

Tabla1.Next; // para cambiar al siguiente registro
While not Tabla1.EOF do /// Mientras no sea fin de archivo en la tabla hacer
begin
tabla1Saldo.asInteger:=NuevoSaldo+tabla1debe.Asinteger-tabla1haber
NuevoSaldo:=NuevoSaldo+tabla1debe.Asinteger-tabla1haber
Tabla1.next;
end;

end;

//////////// Ubicar "calculos" en el evento OncalcFields o en otro momento, por ejemplo un botón Calcular, etc.

Espero que no te parezca muy complicado y te pueda servir. Así tengo funcionando varios programas con calculos similares, incluso fechas y utilizando Sql.

Saludos
Responder Con Cita