Ver Mensaje Individual
  #1  
Antiguo 23-09-2007
luxus luxus is offline
Miembro
 
Registrado: oct 2004
Posts: 134
Reputación: 20
luxus Va por buen camino
Implementar Movimentos de Bancos

Hola a todos,

Me he encontrado con un gran problema a la hora de implementar los movimientos de una cuenta bancaria.

Os comento lo que he hecho hasta el momento. Tengo un form en que el usuario ha de elegir el nº de cuenta corriente, el importe de pago o ingreso, el concepto y la fecha.

Si el usurio decide ver un extracto de cuenta de una de sus cuentas corrientes hago una consulta en la que se pide al usuario que especifique el rango de fechas. Hasta aqui todo va bien. El problema que me surge es como implementar una funcion para rellenar el campo de SALDO.

La idea que tenia era ir al ultimo registro de la consulta e ir sumando o restando del saldo anterior con el importe del registro actual. Una vez terminado se iria al registro anterior. Esto se repitiria hasta llegar al primer registro del query.

Aqui os adjunto el codigo:

while not(FMovimientosCuentas.ADOQuery1.First) do
begin
FMovimientosCuentas.ADOTable1.First;
if (FMovimientosCuentas.ADOTable1.Locate('codigo',FMovimientos.ECodigo.Text,searchoptions)) then
begin
if (FMovimientosCuentas.ADOTable1.FieldValues['saldoinicial']<>null) then
aux:=FMovimientosCuentas.ADOTable1.FieldValues['saldoinicial']
else
aux:='0.00';
end;

saldo:=StrToFloat(aux);
if (FMovimientosCuentas.ADOQuery1.FieldValues['movimiento']<>null) then
tipo:=FMovimientosCuentas.ADOQuery1.FieldValues['movimiento'];

if (tipo='ENTRADA') then
begin
if (FMovimientosCuentas.ADOQuery1.FieldValues['importe']<>null) then
aux:=FMovimientosCuentas.ADOQuery1.FieldValues['importe']
else
aux:='0.00';

valor:=StrToFloat(aux);
saldo:=saldo+valor;
end;

if (tipo='SALIDA') then
begin
if (FMovimientosCuentas.ADOQuery1.FieldValues['importe']<>null) then
aux:=FMovimientosCuentas.ADOQuery1.FieldValues['importe']
else
aux:='0.00';

valor:=StrToFloat(aux);
saldo:=saldo-valor;
end;

FMovimientosCuentas.ADOQuery1.Edit;
FMovimientosCuentas.ADOQuery1.FieldValues['saldo']:=FloatToStr(saldo);
FMovimientosCuentas.ADOQuery1.Post;

FMovimientosCuentas.ADOQuery1.Prior;
end;


Os agradecería si me pudieseis echar una mano para terminar la implementación del programa.
Gracias y un saludo.
Responder Con Cita