Consulta sobre Modulo VB access 2007

Hola tengo una consultar , quiero calcular la indemnización de un liquidación y tengo esta modulo

Me.txtIndemnizacion = 15 * Me.txtAños

lo que quiero hacer es que a partir de pasados 6 meses se redondee directo a +1 años, osea: 18/07/2011 seria Idenmizacion= 15* 2 , el "2" seria redondeando ya a dos años.

tengo la fncantiguedad que calcular la antigüedad de un empleado también.

Desde ya gracias.

1 respuesta

Respuesta
1

Prueba usando la función redondear:

Me.txtIndemnizacion = 15 * Round(Me.txtAños)

Ten en cuenta que el valor de txtAños, tiene que ser un número.

Y si quiero que Me.txtIndemnizacion = 15 * FncAntiguedad ?

como calculo ? osea que redondee como decís la fecha 19/05/2011 que a partir de la antigüedad 05 siga siendo el la diferencia de años, y cuando sean + 5 meses osea >5 sume un año mas.

Ej: Indemnización = (15 días por año) y si es mas de cinco meses suma un año mas!

2 años ,6 meses = 3 años.

En primer lugar fncAntiguedad no la puedes usar, porque es una cadena de texto (tipo 1 años y 3 meses, o 2 años...) y no puedes hacer cálculos con ella.

Si en txtAños recoges la diferencia en años entre las dos fechas (entrada y salida), mediante la función DateDiff, ese es el valor que tienes que usar. Luego tienes que evaluar si el mes de la fecha (¿de salida?), la que indicas en tu ejemplo 19/05/2011 es o no mayor que 5, para añadir un año más o no:

Me.txtIndemnizacion = 15 *IIF(Month(CampoFecha)<6,Me.txtAños,Me.txtAños+1)

A ver si así te resulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas