Ayuda tarea para calcular la edad

Estoy estudiando y me dejaron una tarea en visual para hacer lo siguiente
tengo en un formulario la fecha actual en un campo de texto, y tengo otro campo de texto para escribir la fecha de nacimiento
Lo que necesito es que al digitar la fecha de nacimiento en un campo de texto me aparezca la edad que,,, y en otro campo de texto la unidad de edad que tengo.
A si son años
M si son meses y
DE si son días
Ademas que no me permita ingresar fechas posteriores a la actual

1 Respuesta

Respuesta
1
Adrian,
Me.Print Format(DateDiff("y", Fecha_Inicial, Fecha_Final), Formato) & " dias"
Me.Print Format(DateDiff("WW", Fecha_Inicial, Fecha_Final), Formato) & " semanas"
Me.Print Format(DateDiff("m", Fecha_Inicial, Fecha_Final), Formato) & " meses"
Me.Print Format(DateDiff("yyyy", Fecha_Inicial, Fecha_Final), Formato) & " años"
Ahí tienes 4 formas de trabajar las fechas, solo debes igualar los textbox a fecha_inicial y fecha_final suerte y espero esto solucione tu duda.
Gracias por la pronta respuesta.. esos datos me sirven, peronecesitaria lagomas preciso como lo siguiente..
Tengo la fecha actual en un textbox
Dígito la fecha de nacimiento en otro textbox
a esto le saco una diferencia creo,,
buscando encontré esto que es de access y me sirve exactamente para lo que necesito pero no se como haría para pasarlo a visual basic.
Esto me calcula la edad exacta no todos los datos en años meses y días
si no preciso o son años o son meses o son días ese es el código.
Function EDAD(FECHANACI As Variant) As Variant
Dim DIFERENCIA As Double
On Error GoTo EDAD_Err
DIFERENCIA = Date - FECHANACI
If DIFERENCIA >= 365 Then
EDAD = DIFERENCIA \ 365
End If
If DIFERENCIA < 365 Then
EDAD = DIFERENCIA \ 30
If EDAD >= 12 Then
EDAD = 1
End If
End If
If DIFERENCIA <= 30 Then
EDAD = DIFERENCIA
End If
EDAD = Int(EDAD)
EDAD_Exit:
Exit Function
EDAD_Err:
Resume EDAD_Exit
End Function
Ahora con esto lo que hace es que al dato anterior me calcule si son años días o meses los que tiene la persona
Function UNEDAD(FECHANACI As Variant) As Variant
Dim DIFERENCIA As Double
On Error GoTo UNEDAD_Err
DIFERENCIA = Date - FECHANACI
If DIFERENCIA >= 365 Then
UNEDAD = "A"
End If
If DIFERENCIA < 365 Then
UNEDAD = "M"
If (DIFERENCIA \ 30) >= 12 Then
UNEDAD = "A"
End If
End If
If DIFERENCIA <= 30 Then
UNEDAD = "D"
End If
UNEDAD_Exit:
Exit Function
UNEDAD_Err:
Resume UNEDAD_Exit
End Function
Te agradezco si puedes echar una ayudadita ya que no tengo conceptos avanzados en visual basic.
Pero es que eso es lo mismo que te pase yo, solo que a una variable le pasas los parámetros por ejemplo:
año= Me.Print Format(DateDiff("yyyy", Fecha_Inicial, Fecha_Final), Formato) & " años"
despues haces la comparacion.
if año>30 then
unedad = "A"
end if
Solo eso agrégame a msn [email protected] y te ayudo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas