Como calcular las fechas en un plan de pago.

Hey te habías perdido, ya estaba preocupado.

Bueno, he aquí mi consulta.

Logre que mi plan de pagos tenga fechas, como mi plan de pagos puede ser semanal, quincenal, mensual, bimensual, trimestral ... Hice una tabla que se llama periodos, de ahí con una función de dominio busco la frecuencia según la selección del usuario, es decir si el usuario selecciona un plan de pagos quincenal, la frecuencia seria 15, si selecciona mensual, la frecuencia seria 30, esto se lo voy sumando a la fecha de entrega dentro del bucle For. Es decir FechaEntrega +(frecuencia * i).

Para me entiendas mejor te dejo una hoja en pdf y una imagen en mi carpeta de SkyDrive.

Clic

1 Respuesta

Respuesta
1

Si sumas la frecuencia, te provoca esos "errores" que comentas en el pdf (que se salte febrero o dos pagos en abril), que según la fórmula está bien, pero es incorrecto para el plan de pagos.

Lo que tienes que hacer es, en primer lugar analizar la frecuencia, en segundo lugar el día, y a partir de ahí, ir construyendo las nuevas fechas. Por ejemplo:

Para una periodicidad mensual, como la del pdf (fecha Entrega :01/01/12)

Mes: enero, periodicidad: 30 días,

Primer pago: 31/01 (01/01/12 + 30 días, lo puedes hacer así o con la función DateAdd)

Siguientes pagos: serían el ultimo día de cada mes: tendrías que hacer una construcción de este tipo:

Select Case Mes

Case 1,3,5,7,8,10,12 ' Los meses de 31 días

Fecha=cdate("31/" & Mes & "/" & Año")

Case 2 ' Febrero como puede tener 28 o 29 días...ponemos 1/03 y le restamos 1

Fecha=cdate("01/03/" & Año) - 1

Case Else 'Meses de 30 días

Fecha=cdate("30/" & Mes & "/" & Año")

End Select

La cosa es, coges el primer mes, le vas sumando 1, y analizas en que mes estás, con el Select Case anterior.

Si el periodo fuera bimensual, lo harías sumando 2 al mes, y así con todas las que sean de periodicidad inferior al año.

Si los periodos son anuales, bianuales, la construcción seria parecida, pero cambiando sólo el año.

Para períodos inferiores al mes, lo harías de modo similar, por ejemplo, si quieres que los pagos sean el 15 y el 30/31 de cada mes, analizarías también el día: si es 15 sólo cambias el mes, si es fin de mes, haces lo de arriba...

Hola!!

Esta un poco difícil eso, esta como en chino mezclado con coreano :D, pero tratare de hacerlo.

Mil gracias por tu voluntad de apoyo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas