Access - Calcular Edad

 
Vista:

Calcular Edad

Publicado por Fernando (6 intervenciones) el 31/01/2005 16:42:14
Como puedo hacer para calcular la edad de una persona teniendo un campo con la fecha de nacimiento y la fecha del dia?
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 Edad

Publicado por Atuq (3 intervenciones) el 31/01/2005 16:56:57
Tienes que hacerlo desde una consulta, generas un campo calculado e incluso con la funcion ahora no es necesario tener la fecha actual, ya que, el PC pone la fecha. Lo haces: (ahora()-fechadenacimiento)/365, es un poco inesacta pero sirve
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 Edad

Publicado por 2pl (105 intervenciones) el 31/01/2005 18:20:29
Esto es algo mas exacto
edad:(ahora()-fechanacimiento)/365,24-0,5
edad debe ser standard 0 decimales
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 Edad

Publicado por María (1 intervención) el 18/02/2005 12:44:49
Esta solución a mi me da el siguiente error. Podeis explicarme como solucionarlo?

error de sintaxis (coma) en la expresión de consulta '((ahora()-[FECHA NACIMIENTO]7365,24-0,5)'.

Y ya he probado a quitar los corchetes de FECHA NACIMIENTO
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 Edad

Publicado por Christian Rodriguez O. (2 intervenciones) el 18/02/2005 15:57:18
Bueno, debo decir que este algoritmo puede ser usado libremente pero sin modificar ni una linea, o a lo menos manteniendo mis datos, pues es parte de un sistema que esta registrado a mi nombre.

Ahi va.

Public Function calcEdad(fnac As Date) As Byte
*******************************************************************
** Calcula los años de una persona, usando el metodo **
** natural de calculo, Busca diferencia entre años, meses y dias **
** **
** [email protected] (c)2004 **
*******************************************************************
Dim vDiaInicio As Byte
Dim vMesInicio As Byte
Dim vAnoInicio As Integer
Dim vDiaFin As Byte
Dim vMesFin As Byte
Dim vAnoFin As Integer
Dim vAnos As Byte
Dim vMeses As Integer
Dim vDias As Integer

vDiaInicio = Day(fnac)
vMesInicio = Month(fnac)
vAnoInicio = Year(fnac)
vDiaFin = Day(Now())
vMesFin = Month(Now())
vAnoFin = Year(Now())

vAnos = vAnoFin - vAnoInicio
vMeses = IIf(vMesFin >= vMesInicio, 0, -1)
vDias = IIf(vMesFin = vMesInicio, IIf(vDiaFin >= vDiaInicio, 0, -1), 0)

calcEdad = vAnos + vMeses + vDias
End Function
---------------------------------
Debemos llamarla como a cualquier funcion, asi nos entregerá la edad exacta en años. Si gustan tengo la version que entrega Años, Meses y Dias.

Uso:
calcEdad(FechaNacimiento)
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
sin imagen de perfil

RE:Calcular Edad

Publicado por FRANCISCO PORTALES (48 intervenciones) el 22/02/2005 16:07:22
Todo eso que te dijeron son malos intentos para calcular edad, porque se escapan años bisiestos, hay una funcion en sql buscala com datedif, le manadas las dos fechas como parametro y el formato de salida años, meses o dias. por favor no reinventen el agua azucarada...
saludos.
aqui esta el ejemplo : http://techrepublic.com.com/5100-6270-5034346-2.htmlYears. In the expression DATEDIF(A2,B2,"Y"), the "Y" parameter tells the function to return the number of whole years between the two dates.
Months. The expression DATEDIF(A2,B2,"YM") returns the number of months between the two dates, without regard to the years.
Days. Finally, the expression DATEDIF(A2,B2,"MD") returns the number of days in the interval without regard to month and year.
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 Edad (solucion definitiva)

Publicado por Guille (7 intervenciones) el 22/02/2005 16:45:37
' Declara esta Función en un MODULO:
' Calcula la edad en años a una fecha determinada
Function edad(fechaBase As Variant, fechaRef As Variant) As Integer
On Error GoTo errores

edad = DateDiff("yyyy", fechaBase, fechaRef)

If Month(fechaBase) > Month(fechaRef) Then edad = edad - 1

If Month(fechaBase) = Month(fechaRef) Then
If Day(fechaBase) > Day(fechaRef) Then
edad = edad - 1
End If
End If
Exit Function
errores:
edad = 0
End Function

Luego la usas como un campo calculado en tu consulta
Exp1: Edad([Fecha_Nacimiento];Ahora())

Guille From Argentina
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