Access - consulta por edad

 
Vista:

consulta por edad

Publicado por robe (12 intervenciones) el 02/03/2013 01:55:40
¿Cómo puedo ver en un campo calculado la edad en años a partir de otro campo llamado fecha de nacmiento?.
Agradeceré ayuda
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

consulta por edad

Publicado por 2pl (461 intervenciones) el 02/03/2013 13:57:57
Si alguien no te da una solucion mejor, puedes utilizar esta formula para calcular la edad de una persona.
Edad=Int((Date - formulario_fecha_introducida) / 365.25)
..o esto:
Public Function fEdad(F_Nacimiento As Date)fEdad = DateDiff("yyyy", F_Nacimiento, Now()) + Int(Format(Now(), "mmdd") <Format(F_Nacimiento, "mmdd"))End Function
De Carcar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

consulta por edad

Publicado por Roberto (12 intervenciones) el 03/03/2013 14:37:01
Muy agradecido
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

consulta por edad

Publicado por jose (830 intervenciones) el 03/03/2013 13:44:07
´ Contar años
anios = DateDiff("yyyy", fechainicial, fechaactual)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

consulta por edad

Publicado por roberto (12 intervenciones) el 03/03/2013 14:38:14
Muchas 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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

consulta por edad

Publicado por Norberto (753 intervenciones) el 04/03/2013 09:20:44
Hola Jose:

DateDiff("yyyy"...) no da correctamente la edad ya que se limita a restar los años y la edad depende, además, del mes y el día. Como ejemplo pego esta expresión ejecutada en la ventana de inmediato

1
2
? datediff("yyyy",#12/31/2000#,#01/01/2001#)
 1


Evidentemente la edad a 1 de enero de alguien nacido el 31 de diciembre del año anterior es 0. Por eso la corrección que hace la función de 2pl. Yo para corregir el desfase concatenaba dos iif, uno para el mes y otro para el día pero su idea es, sencillamente, genial.

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

consulta por edad

Publicado por jose (830 intervenciones) el 04/03/2013 13:44:33
saludos Norberto

No habìa pasado nunca eso
Tengo que revisar algunas cosas.

Pues vaYA FUNCION, para éstos menesteres no hacen falta alforjas, se restan los años y basta.

Entonces como solución parecida a la de 2pl es reducirlo todo a dias , que si creo que lo calcule bien, y dividirlo entre los dias de un año que son efectivmente 365 y 6 horas aprovimadamente 0.25

1
anios = Round(((DateDiff("d", Now, LaFecha)) / 365.25), 0)
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
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

consulta por edad

Publicado por Norberto (753 intervenciones) el 05/03/2013 10:18:55
Hola de nuevo.

Evidentemente es la forma más sencilla pero siempre están los límites esos en que por un día te puede dar un año de más o de menos. Una vez metidos en harina, no cuesta nada tener un módulo con todas estas funciones e importarlo en cada proyecto.

En cuanto a tu comentario, desde luego que se han sobrado con la función ! Pero si Tío Billy nos lo pusiera todo fácil ¡para qué iban a estar estos foros?

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