Calcular varios intereses dentro del mismo año según las fechas.

Después de tener solucionadas las dos preguntas anteriores respecto a calculo de intereses, me gustaría perfeccionarlo de la siguiente manera:

En una tabla figuran, año e interés, si el interés de todo el año es el mismo, no hay problema, pero cuando en 2009, desde el 01/01/2009 hasta el 31/03/2009, el I=5,5% y desde 01/04/2009 I= 4%.

Teniendo fechaInicio 01/01/2009 y fechaFinal 31/12/2009. Al introducir estas fechas o incluso otras diferentes dentro del mismo año ( fechaInicio 01/02/2009  fechaFinal 01/06/2009).

Cómo podría calcular I, ¿dependiendo de las fechas?

Tabla:

año         I

2015----3,50%

2014---4,00%

2013---4,00%

...

2009----01/01/2009   a 31/03/2009      5,50%

2009----01/04/2009  a 31/12/2009       4,00%

etc

Respuesta
1

Parece que tú definiste el año sólo en número y no en fecha. Como estas almacenando las fechas, así como lo tienes, pienso que debes dividir el campo año en dos partes: Fecha_Inicio y Fecha_Final tipo FECHA los 2. Después de ahí no se presentará mayor problema.

Para saber cuántos meses hay entre Fecha_Inicio y Fecha_Final usa la función incorporada de Acces “DateDiff” que hace el calculo por ti, funciona así:

Dim Mes as Integer, Años as Integer, Dias as Integer
Mes= DateDiff("m", Fecha_Inicio, Fecha_Final)
Dias= DateDiff("d", Fecha_Inicio, Fecha_Final)
Años = DateDiff("yyyy", Fecha_Inicio, Fecha_Final)

Ya teniendo el mes puedes calcular el interés según la fórmula que tengas:

1 respuesta más de otro experto

Respuesta
1

Lo primero que necesitas es modificar la tabla de intereses, pues si puedes tener distintos intereses dentro de un mismo año, necesitarás indicar la fecha en que se aplica el nuevo tipo. Podría ser esta estructura: ID, Fecha, Interés.

Luego tendrías que analizar tu fecha inicio, para saber el tipo de interés inicial, y la fecha final, para saber el tipo de interés final, y si hubo variaciones por el medio. En ese caso, tendrás que calcular los días entre la fecha inicial y el cambio de tipo, aplicarle el interés esos días, y así con cada cambio de tipo.

Vete intentándolo, porque es muy sencillo. Después de comer te preparo un mini ejemplo.


http://nksvaccessolutions.com/Foro/ 

Hola buenas, he probado tu ejemplo y mira lo que me sale

El año 2012 es bisiesto, y salen 365 días. Que opinas tú ??

Gracias

Tengo access 2002

La función DateDiff te devuelve siempre un día de menos, es decir, no te cuenta el día de la fecha final, se queda en el anterior. La solución es sencilla: súmale 1

Corregido el año bisiesto,  el error que me sale, que es???

Ese error es que te falta por registrar una librería. Vete, en el editor de VBA a Herramientas->Referencias y busca MIcrosoft DAO y.yy Object Library y activas su casilla. Las y.yy serán unos números que dependerán de tu versión, aunque probablemente sean 3.6

¡Gracias! Perfecto, pero no me dejaba cambiar en la que tú preparaste, he tenido que hacer una nueva e importar los datos. MUCHAS GRACIAS.

Que raro!.. ¿No te dejaba registrar al referencia?

No te olvides de valorar la respuesta.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas