none
calcular la edad a traves de la fecha de nacimiento access. RRS feed

  • Pregunta

  • hola, llevo buscando y probando varias formulas pero access 2007 no me lo toma,ni en una consulta, ni en un textbox en un informe.

    basicamente lo que quiero hacer como dice el titulo,es a partir de la fecha de nacimiento, automáticamente me calcule la edad.

     ejemplos de las formulas que he probado es:

     Edad = Int((Date-FechaNacimiento)/365.2425)25)

    Edad:DateDiff("yyyy":[fecha nac]; Fecha()) 

    podrian ayudarme? muchas gracias..

    martes, 30 de julio de 2013 20:29

Todas las respuestas

  • Hola!

    hay muchos métodos, por ejemplo este de Ju@nk

    Edad = (Format$(datDiaCalculo, "yyyymmdd") - Format$(datFechaNacimiento, "yyyymmdd")) \ 10000


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/

    martes, 30 de julio de 2013 21:32
  • Hola

    Como dice Emilio, hay multitud de formas

    Public Function CalcularEdad(dFecha As Date) As Integer
        Dim dEdad As Integer
        dEdad = DateDiff("yyyy", dFecha, Date)
        
        If Date < DateSerial(Year(Date), Month(dFecha), Day(dFecha)) Then
            dEdad = dEdad - 1
        End If
        
        CalcularEdad = dEdad
    End Function
    
    Salu2,


    José Mª Fueyo [MS MVP Access]

    miércoles, 31 de julio de 2013 9:51
  • hola, lamentablemente ninguna de las 2 funciones me han resultado... podrian pasarme otras?



    • Editado eugenia.p.7 miércoles, 31 de julio de 2013 17:35
    miércoles, 31 de julio de 2013 17:35
  • Quiero saber algo antes de todo, estás trabajando con Access 2007 directamente en un formulario o informe y quieres calcular la edad de nacimiento, o estás utilizando Visual Basic integrado en Access o estás trabajando desde visual basic o .NET a una base de datos relacional con Access 2007...

    Para captar bien la idea, porque las anteriores me resultan que estàn bien como la que te contesta Emilio Sacha y José... esa es mi duda... DE DONDE ESTAS TRABAJANDO...

    consulto...


    Carlos Israel

    miércoles, 31 de julio de 2013 18:43
  • Me temo que el problema no es de las funciones, ambas han de funcionar, sino de como lo has usado y sin saber que has hecho, difícilmente podremos saber porque fallan.

    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/

    miércoles, 31 de julio de 2013 19:26
  • ya encontre una sentencia que funciona en las consultas, pero extrañamente no lo hace en los informes: edad: DifFecha("aaaa",[fecha nac],Ahora()).

    En los informes solo coloco = DifFecha("aaaa",[fecha nac],Ahora())

    ¿porque pasa esto?

    jueves, 1 de agosto de 2013 14:33
  • No entiendo porque preguntas si luego no haces caso de las respuestas :S

    Eso que pones devuelve la diferencia en años entre dos fechas y eso no es la edad.

    Y no funcionará en los informes porque DifFecha es una función traducida al español que no es reconocida por VBA, es preferible utilizar para todo las funciones en inglés, es este caso datediff, que cuando a Access le convenga la traducirá o no.


    Saludos a todos desde Huelva
    http://www.mvp-access.es/emilio/

    jueves, 1 de agosto de 2013 17:34
  • es que como dije, access no me lo "tomo" me lo considero un error por una u otra cosa, no es que no considere los comentarios.. la  sentencia la puse en ingles pero se me convirtió al español... :_


    • Editado euge.p.92 domingo, 4 de agosto de 2013 16:51
    domingo, 4 de agosto de 2013 16:48
  • SOS UN SALAME, PIBE!!

    viernes, 10 de enero de 2014 22:17