Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Obterner edad por medio de la fecha

Estas en el tema de Obterner edad por medio de la fecha en el foro de Visual Basic clásico en Foros del Web. Que tal de nuevo aqui con una consulta, ando tratando de lograr hacer que al momento que introduzca la fecha en un texbox en otro ...
  #1 (permalink)  
Antiguo 02/11/2008, 12:55
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Obterner edad por medio de la fecha

Que tal de nuevo aqui con una consulta, ando tratando de lograr hacer que al momento que introduzca la fecha en un texbox en otro me muestre la edad, digamos q si pongo la fecha de naciemiento el 07 de julio de 2008, me muestre la edad de 30 años.....de antemano gracias por la ayuda...


Saludos
  #2 (permalink)  
Antiguo 02/11/2008, 15:19
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Obterner edad por medio de la fecha

Tio lo que necesitas es sencillo toma solo el año de la fecha de nacimiento por ejemplo 1980 y restas este numero con el año actual 2008 el resultado seria 28
  #3 (permalink)  
Antiguo 02/11/2008, 16:13
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Obterner edad por medio de la fecha

Ok gracias, lo unico es que no se como hacer eso, en codigo, ya sea si tengo que poner algun formato al atexbox de fecha y como obtener solo el año... gracias por las respuestas

saludos
  #4 (permalink)  
Antiguo 02/11/2008, 16:57
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Respuesta: Obterner edad por medio de la fecha

Tio prodria se asi coloca 4 cajas de texto y un command eso te puede resolver el problema por ahora y para q tengas una idea de como hacerlo

Código:
Private Sub Form_Load()
Text1 = Year(Date) 'Extraigo el año de la fecha actual del sistema
Text2 = "18/9/1985" 'Fecha de nacimiento
End Sub

Private Sub Command1_Click()
Text3 = Right(Text2, 4) ' Extraigo 4 caracteres desde la derecha, el año
Text4 = Val(Text1) - Val(Text3)
End Sub
  #5 (permalink)  
Antiguo 03/11/2008, 02:18
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Obterner edad por medio de la fecha

Cita:
Iniciado por franko1809 Ver Mensaje
Tio prodria se asi coloca 4 cajas de texto y un command eso te puede resolver el problema por ahora y para q tengas una idea de como hacerlo

Código:
Private Sub Form_Load()
Text1 = Year(Date) 'Extraigo el año de la fecha actual del sistema
Text2 = "18/9/1985" 'Fecha de nacimiento
End Sub

Private Sub Command1_Click()
Text3 = Right(Text2, 4) ' Extraigo 4 caracteres desde la derecha, el año
Text4 = Val(Text1) - Val(Text3)
End Sub
Bueno, esa es una forma de hacerlo, pero no es correcta del todo.
p.e. si le pongo la fecha de nacimiento "18/11/1995" me dá como resultado 23 años, cuando todavía no los ha cumplido.

Otra opción es una función como ésta:

Código:
Function CalculaEdad(ByVal DataIni As Date) As Integer
CalculaEdad = DateDiff("yyyy", DataIni, Date)

If (Month(DataIni) > Month(Date)) Or (Month(DataIni) = Month(Date) _
    And Day(DataIni) > Day(Date)) Then CalculaEdad = CalculaEdad - 1
End Function
para llamarla y comprobar el resultado:

Código:
Private Sub Command1_Click()
Dim iAños As Integer
iAños = CalculaEdad(Text1)
MsgBox iAños
End Sub
  #6 (permalink)  
Antiguo 03/11/2008, 19:04
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Obterner edad por medio de la fecha

Cita:
Iniciado por Avellaneda Ver Mensaje
Bueno, esa es una forma de hacerlo, pero no es correcta del todo.
p.e. si le pongo la fecha de nacimiento "18/11/1995" me dá como resultado 23 años, cuando todavía no los ha cumplido.

Otra opción es una función como ésta:

Código:
Function CalculaEdad(ByVal DataIni As Date) As Integer
CalculaEdad = DateDiff("yyyy", DataIni, Date)

If (Month(DataIni) > Month(Date)) Or (Month(DataIni) = Month(Date) _
    And Day(DataIni) > Day(Date)) Then CalculaEdad = CalculaEdad - 1
End Function
para llamarla y comprobar el resultado:

Código:
Private Sub Command1_Click()
Dim iAños As Integer
iAños = CalculaEdad(Text1)
MsgBox iAños
End Sub
Que tal, ya probe el codigo y funciona perfectamente bien, solo una cuestion mas, como podria hacer para que pueda calcular la edad sin necesidad en un boton command y que me muestre la edad en un textbox en lugar de un msgbox, saludos y gracias por la ayuda

Última edición por spiderman78; 03/11/2008 a las 19:14
  #7 (permalink)  
Antiguo 03/11/2008, 19:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Obterner edad por medio de la fecha

Puedes usar el evento Change para mostrar la edad sin necesidad del botón, y para que aparezca en otro TextBox solo coloca:
Código vb:
Ver original
  1. Text2 = CalculaEdad(Text1)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 07/11/2008, 08:37
 
Fecha de Ingreso: abril-2008
Mensajes: 281
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Obterner edad por medio de la fecha

Que tal, muchas gracias por la ayuda, me fue de mucha utilidad sus respuestas

saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:21.