Visual Basic - Calcular Edad a partir de una fecha

Life is soft - evento anual de software empresarial
 
Vista:

Calcular Edad a partir de una fecha

Publicado por Bella Panamá (80 intervenciones) el 06/02/2001 20:54:45
alguien tiene el código de cómo calcular la edad a partir de la fecha de nacimiento

ejemplo: hoy: 6 Feb 2001
menos: 25 Nov 1975
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
sin imagen de perfil

RE:Calcular Edad a partir de una fecha

Publicado por Joan Fabregas (101 intervenciones) el 07/02/2001 10:41:53
Puedes utilizar la funcion DateDiff de VB:

1
Edad = DateDiff("yyyy", CDate([Fecha Nacimiento]), Now())

Mira la ayuda de VB para mas detalles.

Saludos.
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 a partir de una fecha

Publicado por Luis Guerrero (1 intervención) el 28/05/2020 04:20:49
A mi me funciono de esta manera
Espero y les sea de ayuda.

1
2
3
4
5
6
7
8
9
10
Dim A As String
 
 
A = Len(Me.txt_Fecha_De_Nacimiento)
    If A = 10 Then
        TestDates = DateDiff("yyyy", Me.txt_Fecha_De_Nacimiento, Now)
        Me.txt_Edad = TestDates
    Else
    Me.txt_Edad = ""
End If
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 a partir de una fecha

Publicado por ENZO (1 intervención) el 26/05/2023 17:34:37
Si me funciono, no se que le hace ese 10 pero funcionaiona
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 gilman
Val: 594
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Calcular Edad a partir de una fecha

Publicado por gilman (359 intervenciones) el 27/05/2023 10:22:12
La A lo que hace es comprobar que el dato introducido tenga 10 caracteres, para comprobar que coincide con la mascara DD/MM/YYYY, es decir que puede que lo que hayas introducido sea correcto, pero mejor sería:
1
2
3
4
5
If IsDate(Me.txt_Fecha_De_Nacimiento.Text) Then
        Me.txt_Edad =  DateDiff("yyyy", Me.txt_Fecha_De_Nacimiento, Now)
    Else
        Me.txt_Edad = ""
    End If
Y no, no funciona, para probarlo, ten en cuenta que hoy es 27/05/2023, introduce, por ejemplo 09/09/2022, la respuesta esperada sería 0 años, sin embargo el resultado es 1, el problema es que DateDiff (VB6) redondea, y en este caso lo hace al alza, dando como resultado 1, cuando la persona todavía no ha cumplido un año.
Si quieres evitar este problema usa la clase contenida en el fichero adjunto que te permite calcular la edad en años, meses y dias en una fecha cualquiera:
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