Datar los pagos fraccionados en access

Me dirijo a ti, por ser esta una continuación del tema anterior en el que, tan eficazmente, me ayudaste. Mi objetivo es que mediante una consulta se pudiera determinar el importe total de los pagos de un periodo de tiempo y, la verdad es que no tengo ni idea de como hacerlo, porque si bien sabemos la fecha del pago inicial, que figura en la tabla "POLIZAS" como "FECHALTA" no se como determinar las fechas de los pagos fraccionados.

1 respuesta

Respuesta
1

Si sabes la periodicidad de los pagos de los distintos fraccionamientos, no es difícil, sólo has de usar la función DateAdd() (o AgregFecha()) para calcular las fechas de los pagos fraccionados.

Por ejemplo, si fracciona en dos veces, paga cada 6 meses, si fracciona en 12, paga cada mes...

Si no se sabe la periodicidad, será imposible (o muy difícil) programar algo.

Dime algo y seguimos.

Gracias. Si que sabemos la periodicidad. a partir de la "FECHALTA" (Así se llama el campo en la tabla) fecha de alta los pagos son periódicos, como indicas... Osea, si son semestrales cada seis meses, trimestrales cada tres y así sucesivamente... Si bien no tienen que corresponderse con los periodos habituales en que se divide un año concreto, quiero decir, que doce pagos no son los doce meses de un año determinado, sino que pueden abarcar dos años. Eso si, si todo va normal, son consecutivos, al igual que dos semestres, tres cuatrimestres o cuatro trimestres. Hasta ahora

Perdona, lo que intento hacer es poner la fecha a los fraccionamientos de pago que, tan estupendamente bien, me resolviste en mi anterior pregunta. Espero que no te moleste esta aclaración.....pero se que atiendes a un montón de preguntantes y no tienes porque acordarte de los problemas de cada uno. Gracias

¿La fecha del primer pago coincide con la fechaalta o no?

Te he modificado tu BD, incluyendo en la tabla y en el formulario 12 campos nuevos (FPago1, FPago2... FPago12), y añadiendo unas lineas al código que te da los fraccionamientos, y parece que funciona. Este es el código:

Private Sub NUMPAGOSAÑO_AfterUpdate()
Dim elImporte As Currency
Dim numPagos As Integer
Dim i As Integer
elImporte = Nz(Me.BENEFICIONET, 0)
numPagos = Nz(Me.NUMPAGOSAÑO, 0)
'Si alguno de los dos campos está vacío, no haces nada
If elImporte = 0 Or numPagos = 0 Then Exit Sub
For i = 1 To numPagos
    Me.Controls("Pago" & i) = elImporte / numPagos
Next i
For i = 12 To numPagos + 1 Step -1
    Me.Controls("Pago" & i) = 0
Next i
'Calculamos las fechas de los pagos
Me.FPago1 = Me.FECHALTA
For i = 2 To numPagos
    Me.Controls("FPago" & i) = DateAdd("m", 12 / numPagos, Me.Controls("FPago" & i - 1))
Next i
For i = 12 To numPagos + 1 Step -1
    Me.Controls("FPago" & i) = Null
Next i
End Sub

Ten en cuenta que he supuesto que el primer pago coincide con el valor de FECHAALTA, si no fuera así, tendrás que cambiar la linea

Me.FPago1=Me.FECHAALTA

Por otra en la que calcules la fecha del primer pago.

A partir de la primera fecha de pago se calculan el resto, en función de la periodicidad elegida

¡Gracias! Otra y mil veces gracias. Todo funciona de maeavilla. Debo decir que eres un gran informático y lo que es mejor y más difícil....¡¡Una gran persona!!!. Permíteme enviarte un abrazo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas