Access - Ayuda para corregir una función en formulario

   
Vista:

Ayuda para corregir una función en formulario

Publicado por lucho (148 intervenciones) el 21/05/2008 00:59:53
Mucho agradeceré a alguien que pueda ayudarme para corregir una aplicación en formulario.
Miren en ACCESS tengo una bases de datos EN TABLA, para calcular edades de varias personas, tengo excusivamente un campo que se llama fechanacimiento.
Y en CONSULTA, aplica la función Datedif (Diffecha)
En dicha consulta obtengo el resultado correcto, ya que separo los campos dias, meses y años.
Pero FORMULARIO aplico la siguiente función, y no obtengo el resultado esperado:

Private Sub Cmdcalcular_Click()
Me.dias = Me.FECHA - Me.Fechanac
Me.meses = (Me.FECHA - Me.Fechanac) / 30
Me.años = ([meses] / 12) & " años y " & ([meses] Mod 12) & " meses "
End Sub
Nota: por días y meses no hay problemas
En cambio por años SI TENGO PROBLEMAS CON EL RESULTADO
Ejem: Una persona su fecha de nacimiento es 13/05/1999 contra la fecha de hoy(20/05/2008) el resultado correcto es: 9 años con 0 meses
Con dicha funcion en años me dá como resultado 9 años 2 meses
Gracias y saludos a todos.
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:Ayuda para corregir una función en formulario

Publicado por jcs (78 intervenciones) el 21/05/2008 09:32:40
Muy buenas,

El problema es que al dividir por 30 el número de meses te va acumulando un error.

Si nadie te da una propuesta mejor, prueba con esto:

Private Sub Cmdcalcular_Click()
Me.dias = Me.fecha - Me.fechanac
Me.meses = DateDiff("m", Me.fechanac, Me.fecha)
If Day(Me.fecha) < Day(Me.fechanac) Then
Me.meses = Me.meses - 1
End If
Me.años = Int([meses] / 12) & " años y " & ([meses] Mod 12) & " meses "
End Sub

Ya dirás si es lo que querías.

Un saludo. Juanjo.
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

RE:Ayuda para corregir una función en formulario

Publicado por lucho (148 intervenciones) el 21/05/2008 18:53:06
Permíteme mandarte un apretrón de mano, agradecerte y felicitarte infinitamente por la gran ayuda que me hayas brindado, efectivamente es el resultado esperado, mil gracias.
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