Access - calculo de antiguedad

 
Vista:

calculo de antiguedad

Publicado por paco (2 intervenciones) el 23/04/2007 14:20:07
Hola a todos, mirad estoy haciendo una BD donde una vez calculados los días que una persona lleva en una empresa[este cuadro de texto se llama dias], se le calcula una antiguedad[en el cuadro de texto antiguedad]
lo he hecho con la función al perder el enfoque o al cargar el formulario poniendole el sigiente código:

If dias < 730 Then
antiguedad = 0
ElseIf dias < 1825 Then
antiguedad = 5
ElseIf dias < 3650 Then
antiguedad = 10
ElseIf dias < 5475 Then
antiguedad = 15
ElseIf dias < 7300 Then
antiguedad = 25
ElseIf dias < 9125 Then
antiguedad = 40
Else
antiguedad = 60
End If

pero que es lo que pasa, que no se actualiza el dato a no ser que le estes pasando el foco constantemente, claro que en una empresa que tiene 400 afiliados imaginaros el plan.

Entonces he pensado hacerlo con el generador de expresiones en el mismo campo antiguedad con la función SiInm.
Me podéis ayudar en como puedo hacerlo.
gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:calculo de antiguedad

Publicado por vane (23 intervenciones) el 24/04/2007 19:14:59
Hola!
No te entiendo mucho, pero podrias poner un for antes del if
has dicho que son 400 empleados
podrias hacer esto
(for int i=1;i<=400; i++)
If dias < 730 Then
antiguedad = 0
ElseIf dias < 1825 Then
antiguedad = 5
ElseIf dias < 3650 Then
antiguedad = 10
ElseIf dias < 5475 Then
antiguedad = 15
ElseIf dias < 7300 Then
antiguedad = 25
ElseIf dias < 9125 Then
antiguedad = 40
Else
antiguedad = 60
End If
end

Tambien podrias hacerlo con un while
la sintaxis es muy similar:
i=1;
while(i<=400)
If dias < 730 Then
antiguedad = 0
ElseIf dias < 1825 Then
antiguedad = 5
ElseIf dias < 3650 Then
antiguedad = 10
ElseIf dias < 5475 Then
antiguedad = 15
ElseIf dias < 7300 Then
antiguedad = 25
ElseIf dias < 9125 Then
antiguedad = 40
Else
antiguedad = 60
End If
i++
end

esto te lo hara para cada empleado.
espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar