Calcular trienios trabajador en access

Tengo un formulario con un campo inicio de contrato.

Tengo que calcular los trienios del trabajador y aplico el siguiente código

Enaños = Fix(DateDiff("yyyy", INICIOCONTRATO, Date))
Trienios = Fix(Enaños / 3)

Pero me redondea, es decir si son 14 años y 6 meses entre ambas fechas vuelca 15 por lo que en los trienios me pone el valor de 5 en lugar de 4. Necesitaría que hasta que no se cumple entero el año no lo compute.

3 Respuestas

Respuesta
1

Bueen dia, prueba agregando la formula int(campo)

Sin "fix" porque redondea

Olvida lo que dije del FIX, pero prueba con INT

Respuesta
2

Hola lolesferlo. Qué tal si tratas de quitarle el Fix, ¿y en la segunda función buscas como convertir a decimal para que te pase el dato de años y su avance del segundo trieno? La sugerencia de Gregorio es buena. Si no te da, porque el int te da enteros, -creo que se redondean las fraciones- y deseas la otra parte de avance... entonces intenta con CDbl(TuFórmula). Además, si deseas puedes calcular el trienio desde la primera formula, y no hacerlo en dos tiempos.

Respuesta
2

Puedes hacerlo de forma similar a cómo se calcula una edad:

Si para saber la edad puedes usar: Int(DateDiff("d", FechaNacimiento, Date)/356.24)

Si ese resultado lo divides entre 3, ya tienes los trienios:

Trienios =Int(DateDiff("d", INICIOCONTRATO, Date)/356.24/3)

Trienios =Int(DateDiff("d", INICIOCONTRATO, Date)/(356.24*3))

Trienios =Int(DateDiff("d", INICIOCONTRATO, Date)/1068,72 )

Cualquiera de esas tres expresiones te serviría.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas