Como crear un formulario de crédito con opciones de fecha y pagos

Tengo un formulario con varios subformularios una llamado contrato el cual cuando digito el numero de documento me muestra el nombre de la persona, el numero de documento y la fecha de creación del contrato, el otro ingresa el numero de cuotas pactadas, la fecha de inicio de los pagos y la fecha que termina el pago.

Lo que quiero hacer es que cuando digite el numero de cuotas, cree automáticamente las filas con las respectivas fechas y pagos. Ejemplo

Valor convenio 180.000

Numero de cuotas: 12

fecha inicio pago: 02/09/17 fecha fin pago 18/11/17

en el formulario apareceria asi:

cuota                    fecha                      valor_cuota

1                       02/09/17                  70.000

2                       09/09/17                  10.000

3                       09/09/17                  10000

etc... Hasta que termine.

Estaría muy agradecido si me pueden colaborar

Respuesta
1

No dices donde pones el numero de cuotas, si en el formulario o en el subformulario. Por otro lado no entiendo que si el segundo pago es el 09/09/2017 el tercer pago sea el mismo día. Vamos a suponer que hay una semana de intervalo y vamos a suponer que el número de cuotas está en el formulario y que el cuadro de texto donde las escribes se llama Numcuotas. En el evento después de actualizar de ese cuadro de texto puedes poner

dim respuesta as byte

respuesta = msgbox("¿Esta seguro de querer insertar los registros?",vbokcancel,"No digas que no te avisé")

if respuesta=vbok then

dim a as integer

for a=1 to Numcuotas

docmd.setwarnings false

docmd.runsql"Insert into Cuotas(cuota, fecha)values(" & a & ",#" & me.fechainiciopago & "# + a*7)"

next

elseif respuesta=vbcancel then

docmd.cancelevent

End if

Para poder concretar lo de la cantidad habría que saber si se divide la cantidad entre las cuotas o si hay un pago inicial grande y luego son cuotas iguales.

Cordial saludo

Si señor así como supone es correcto. Y si, hay un pago inicial de 70000 y 11 cuotas semanales de 10000

Gracias por tan oportuna respuesta

Supongamos que el formulario tiene la forma de la imagen, y le voy a decir que a cada cuota le sume 10 días a la anterior.

En el momento que escribo el número de cuotas, en este caso 12 y pulso Enter

Aunque no salga en la imagen, mi ordenador es un portátil y la pantalla no da para más, sigue hasta las 12 cuotas, como puedes ver en los botones de navegación.

El código del evento Después de actualizar del cuadro de texto Numcuotas es

agradezco mucho la colaboración y lo que me dices es exacto lo que necesito

al colocar el codigo

Private Sub Nro_Cuotas_AfterUpdate()

DoCmd.RunCommand acCmdSaveRecord
Dim a As Byte, c As Currency
c = (Importe - PagoInicial) / ([NumCuotas] - 1)
DoCmd.SetWarnings False
DoCmd.RunSQL " insert Into detallepago ( idpago,numcuenta,fecha,cuota)values("forms!pagos!idpago,1,Fechaincio,pagoinicial)"

For a = 2 To NumCuotas

DoCmd.RunSQL " insert Into detallepago ( idpago,numcuenta,fecha,cuota)values("forms!pagos!idpago"& a &",FechaInicio+("& a &")*10,"& c &")"

Next

Form.Refresh

sale el error de compilación se experaba fin de la instrucción y resalta la palabra Forms.

agradecido

Este es el código con mis datos :

Private Sub Nro_Cuotas_AfterUpdate()

DoCmd.RunCommand acCmdSaveRecord
Dim a As Byte, c As Currency
c = (Covenio - PagoInicial) / ([Nro_Cuotas] - 1)
DoCmd.SetWarnings False

DoCmd.RunSQL " insert Into Documentos_Fecha_Pago ( idpago,numero,fecha,cuota)values("forms!Sub2__Documentos_Fec_Pago!idpago,1,Fechaincio,pagoinicial)"

For a = 2 To NumCuotas

DoCmd.RunSQL " insert Into Documentos_Fecha_Pago ( idpago,numero,fecha,cuota)values("forms!Sub2__Documentos_Fec_Pago"& a &",FechaInicio+("& a &")*10,"& c &")"

Next

Form.Refresh

End Sub

Sigue apareciendo el error

Creo que lo mejor es que si quieres, repito, si quieres, me mandes un mensaje(sólo el mensaje a [email protected] y te mando un ejemplo.

Si lo haces, en el asunto del mensaje pon tu Alias Guillermo, ya que si no sé quien me escribe ni los abro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas