Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Forma de procesar Pagos (https://www.clubdelphi.com/foros/showthread.php?t=92334)

feliz-58 03-10-2017 05:14:12

Forma de procesar Pagos
 
Saludos, tengo la siguiente inquietud, y espero que con su experiencia puedan darme una idea,
tengo un programa en el cual genero pago a cuotas (uso la base de datos en Access), ahora mismo, la tabla cuotas tiene los campos:

Cod | NumPrestamo | Numero | FechaPago | Monto | Estado |
Numero unico de la cuota | Numero del prestamo | numero de orden de cuota | * | * |Pendiente/realizado

"Para pagar las cuotas", selecciono por SQL la primera cuota relacionada al préstamo mediante un SELECT aca el codigo:
Código Delphi [-]
with QTemp do
     begin
     Close;
     SQL.Clear;
     SQL.Text:= 'SELECT TOP 1 Cod, Numero  FROM Cuotas WHERE (NumPrestamo =:Codigo) and (Estado = :Pendiente) '+
               'Order By Numero ASC';
     Parameters.ParamByName('Codigo').Value    := EnumPrestamo.Text;
     Parameters.ParamByName('Pendiente').Value := 'Pendiente';
     ExecSQL;
     Open;
     end;

 Cod := Qtemp.FieldByName('Cod').AsVariant;
 Numero:= Qtemp.FieldByName('Numero').AsVariant;

y Luego actualizo la tabla así:

Código Delphi [-]
 Begin
  with QTemp do
    begin
    Close;
    SQL.Clear;
    SQL.Text:= 'UPDATE Cuotas SET Fecha_Pago =:Fecha, Estado = :Estado Where Cod =:NumC';
    Parameters.ParamByName('Fecha').Value  := FormatDateTime('dd/mm/yyyy', Now);
    Parameters.ParamByName('Estado').Value := 'Realizado';
    Parameters.ParamByName('NumC').Value   := Cod;
    ExecSQL;
    End;
 End;

Quiza no es la forma mas ortodoxa, pero se que se puede hacer mejor, porque una de las desventajas es que de esta forma solo se hace el "pago" una cuota a la ves.

¿cual seria la otra forma para que pueda hacer el "pago" de mas de una cuota?

Gracias de antemano! ^\||/

PD: intente ser lo mas claro posible, dudas, por favor preguntar.


La franja horaria es GMT +2. Ahora son las 10:14:36.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi