Access - Calcular la edad a partir de la fecha de nacimient

 
Vista:

Calcular la edad a partir de la fecha de nacimient

Publicado por Angel (4 intervenciones) el 12/07/2006 09:58:23
Saludos a todos.
Por el titulo ya sabeis la pregunta.
Se trata de la consabida formula, para obtener la edad a partir de la fecha de nacimiento que esté ubicada en un campo de la BD. Pero eso si, teniendo en cuenta la fecha actual, es decir, que no vale solo la diferencia de los años (añoActual-añoNacimiento).
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:Calcular la edad a partir de la fecha de nacimi

Publicado por Pepe (766 intervenciones) el 12/07/2006 10:25:21
Hola Angel

Prepara una consulta donde saques la diferencia en meses entre la fecha de nacimiento y la fecha actual, divide la diferencia en meses por 12 y saca la parte entera de éste resultado.

Aqui tienes en SQL la consulta.

SELECT tabla 1.[Fecha de Nacimiento], DateDiff("m",[fecha de nacimiento],Date()) AS Meses, [meses]/12 AS [Total meses], Int([total meses]) AS Años
FROM tabla 1;
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:Calcular la edad a partir de la fecha de nacimi

Publicado por Angel (4 intervenciones) el 12/07/2006 10:45:38
Gracias Pepe, por tu pronta respuesta.
En este rato, me he tomado el café (el motor de arranque), y he programado una funcion que te copio integra: (descomenta los MsgBox y verificarás lo que hace)

Function edad(fechaNacimiento) As Integer
If ((mes(fechaNacimiento) = 0) And (dia(fechaNacimiento) = 0)) Then
MsgBox "Feliz Cumpleaños"
edad = DateDiff("yyyy", fechaNacimiento, Now())
End If
If (mes(fechaNacimiento) = 1) Then
'MsgBox "Ha pasado su mes de cumpleaños"
edad = DateDiff("yyyy", fechaNacimiento, Now())
End If
If ((mes(fechaNacimiento) = -1)) Then
'MsgBox "En proximo mes cumple años"
edad = DateDiff("yyyy", fechaNacimiento, Now()) - 1

End If
If ((mes(fechaNacimiento) = 0) And (dia(fechaNacimiento) = -1)) Then
'MsgBox "Este mes cumplirá años"
edad = DateDiff("yyyy", fechaNacimiento, Now()) - 1

End If
If ((mes(fechaNacimiento) = 0) And (dia(fechaNacimiento) = 1)) Then
'MsgBox "Este mes ha cumplido año"
edad = DateDiff("yyyy", fechaNacimiento, Now())
End If
End Function
Function mes(fechaDada) As Integer
If (Month(fechaDada) < Month(Now())) Then mes = 1
If (Month(fechaDada) = Month(Now())) Then mes = 0
If (Month(fechaDada) > Month(Now())) Then mes = -1
End Function
Function dia(fechaDada) As Integer
If (Day(fechaDada) < Day(Now())) Then dia = 1
If (Day(fechaDada) = Day(Now())) Then dia = 0
If (Day(fechaDada) > Day(Now())) Then dia = -1
End Function
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