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

Problema para calcular la edad a partir de fecha de nac.

Estas en el tema de Problema para calcular la edad a partir de fecha de nac. en el foro de Visual Basic clásico en Foros del Web. Hola! tengo tres comboboxes para año, mes, y dia , tengo un text1 (invisible) para que concatene y se arege a la BD de MYSQL ...
  #1 (permalink)  
Antiguo 10/05/2011, 12:49
Avatar de Shizuka  
Fecha de Ingreso: marzo-2011
Mensajes: 106
Antigüedad: 13 años, 7 meses
Puntos: 4
Problema para calcular la edad a partir de fecha de nac.

Hola! tengo tres comboboxes para
año, mes, y dia , tengo un text1 (invisible) para que concatene y se arege a la BD de MYSQL y haga la fecha con esto:

Text1.Text = Combo1.Text & "-" & Combo2.Text & "-" & Combo3.Text

y tengo un Text2 para que en el momento de que se presione el combo3
se lleve a cabo esto

Dim fecnac As Date, Edad1 As Integer
fecnac = CDate(Text1)
Edad1 = CInt((Date - fecnac) / 365)
Text2 = Str(Edad1) & " años"

Pero me sale un año màs y no entiendo por que, serà por el Text1 donde esto concatenando? es que lo tengo de esta manera para que se agrege en ese formato que usa mysql año/mes/dia por que VB con el mask text usa dia/mes/año

o tienen alguna otra idea de que puedo hacer? por que antes que usaba text box me iba bien, gracias :)
  #2 (permalink)  
Antiguo 10/05/2011, 14:55
 
Fecha de Ingreso: marzo-2011
Mensajes: 75
Antigüedad: 13 años, 8 meses
Puntos: 6
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Hola, en el mask podes usar el Format para darle formato a la fecha y que te la tome como en sql
  #3 (permalink)  
Antiguo 10/05/2011, 14:57
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 13 años, 8 meses
Puntos: 4
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Shizuka:
Yo lo declare así y me calculo bien

Private Sub Calcular_edad_Click()
Dim Edad As Integer

Text1 = dia.Text & "/" & mes.Text & "/" & año.Text

Fecnac = CDate(Text1)
Edad = CInt((Date - Fecnac) / 365)
Text2 = Edad & " Años "

End Sub


Private Sub Form_Load()
Text1 = ""
Text2 = ""
End Sub

En realidad lo único diferente a tu declaración fur suplantar "-" por "/" y el resultado de no lo declare como string, espero te sirva, estamos en contacto un abrazo.-
  #4 (permalink)  
Antiguo 10/05/2011, 20:12
Avatar de Shizuka  
Fecha de Ingreso: marzo-2011
Mensajes: 106
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Que raro, me sigue saliendo un año màs, pongo 1988 10 27 y me salen 23 años deberian ser 22, muchas gracias por responder *3*
__________________
Will you please tell me the way to the sky?
  #5 (permalink)  
Antiguo 11/05/2011, 01:23
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 3 meses
Puntos: 29
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Prueba así:

Dim Edad As Integer
Edad = Int(Abs(DateDiff("d", Date, Text1.Text)) / 365)
MsgBox Edad
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #6 (permalink)  
Antiguo 11/05/2011, 01:35
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Problema para calcular la edad a partir de fecha de nac.

¿Por qué no usas la función DateDiff?
  #7 (permalink)  
Antiguo 12/05/2011, 14:11
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 13 años, 8 meses
Puntos: 4
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Shizuka:
Si no te resulta lo que propuso pkj intenta esta solución rápida:

Código PHP:
Edad CInt(((Date Fecnac) / 365) - 1
No debería de ser así pero resulta
Un Abrazo.-
  #8 (permalink)  
Antiguo 13/05/2011, 20:19
Avatar de Shizuka  
Fecha de Ingreso: marzo-2011
Mensajes: 106
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: Problema para calcular la edad a partir de fecha de nac.

Gracias por las respuestas, voy a probar las soluciones que me dan, gracias *3*
__________________
Will you please tell me the way to the sky?

Etiquetas: edad, fecha, calculadora
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 12:38.