|
Página 1 de 1
|
Calcular La Edad Con DateDiff
Autor |
Mensaje |
kexxya
Usuario
Registrado: Marzo 2011
Mensajes: 31
Edad: 40 Ubicación: Bejuma - Carabobo
|
Calcular La Edad Con DateDiff
Ubuntu 10.10 (Maverick Meerkat)
gambas 2.22 (Escritorio Gnome)
Hola a todos!! Yo como siempre quedandome atascada (Bueno en realidad soy nueva en Linux y gambas)
En esta ocasión se trata de calcular la edad del usuario a partir de la fecha de nacimiento que es introducida en un valuebox, a su vez la edad será mostrada en un textbox que esta con la propiedad enable en false para q no pueda ser modificada sino que solo se muestre..
Hasta el momento tengo este codigo que me lanza un error que no entiendo...
txtedadA.Text = DateDiff(Year(Now), Year(CDate(txtfechanacA.Text)), gb.year)
el error que me da cuando ejecuto es: Type mismatch: wanted Date, got String instead
Por favor agradezco de ustedes la ayuda que me puedan prestar!!
Gracias!!!
|
#1 Viernes, 29 Abril 2011, 12:30 |
|
|
kexxya
Usuario
Registrado: Marzo 2011
Mensajes: 31
Edad: 40 Ubicación: Bejuma - Carabobo
|
Re: Calcular La Edad Con DateDiff
Hago una aclaratoria me di cuenta que el campo txtfechanacA lo tenia txtfechanacA.Text pero obviamente me daba ese error porque no es un area de texto sino un valuebox por eso le modifique el tipo a value asi => txtfechanacA.Value, el problema es que ahora me da edades negativas o superior a lo que deberian dar..
PD: La fecha y hora de mi computador esta bien, o sea, actualizada!!
|
#2 Viernes, 29 Abril 2011, 12:54 |
|
|
DEATH
Programador
Registrado: Septiembre 2009
Mensajes: 146
Edad: 42 Ubicación:
|
Re: Calcular La Edad Con DateDiff
hola que tal...
el error puede dar además por el formato de la fecha... pero veo que ya lo solucionaste...
a mi también me da edades negativas, pero hasta ahora me las ha dado buena... creo que con un replace se soluciona el factor negativo.
seguiré investigando...
|
#3 Viernes, 29 Abril 2011, 13:00 |
|
|
DEATH
Programador
Registrado: Septiembre 2009
Mensajes: 146
Edad: 42 Ubicación:
|
Re: Calcular La Edad Con DateDiff
ahora de esta otra forma funciona con el gb.year
TextBox1.Text = DateDiff(Date(2011, 04, 29, 0, 0, 0), Date(1982, 03, 08, 0, 0, 0), gb.Year)
año,mes,dia,hora,minuto,segundo
sigue mostrando el número en negativo pero nada que un replace no arregle
|
#4 Viernes, 29 Abril 2011, 13:29 |
|
|
kexxya
Usuario
Registrado: Marzo 2011
Mensajes: 31
Edad: 40 Ubicación: Bejuma - Carabobo
|
Calcular La Edad Con DateDiff [Solucionado]
Finalmente despues de revisar este enlace http://foro.gambas-es.org/viewtopic.php?f=3&t=1358
solucione mi problema de esta manera cambie el textbox de edad por un valuebox y el resultado lo multiplico por -1 para que me de resultado positivo quedando el codigo de esta manera: txtedadA.Value = DateDiff(Date(Now), CDate(txtfechanacA.Value), gb.Year) * (-1)
|
#5 Viernes, 29 Abril 2011, 13:35 |
|
|
DEATH
Programador
Registrado: Septiembre 2009
Mensajes: 146
Edad: 42 Ubicación:
|
Re: Calcular La Edad Con DateDiff
exelente!
|
#6 Viernes, 29 Abril 2011, 13:54 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Calcular La Edad Con DateDiff
gambas hace lo correcto. La fecha mayor tiene el número mayor de manea que si tu haces A-B y B es mayor que A el resultado es negativo.
La solución es en ese caso hacer B-1 o bien hacer ABS(A-B) para quedarse con el valor absoluto o bien multiplicar por -1 pero la mejor solución es ABS porque eso da la diferencia en cualquier caso.
Al multiplicar por -1 puedes obtener una candidad negativa si A es mayor que B y haces A-B. Con ABS eso no te pasaría.
textbox1.text=abs(DateDiff(Date(2011, 04, 29, 0, 0, 0), Date(1982, 03, 08, 0, 0, 0), gb.Year))
Es la mejor solución porque devuelve resultado correcto sea cual sea A y sea cual sea B.
|
#7 Viernes, 29 Abril 2011, 14:25 |
|
|
DEATH
Programador
Registrado: Septiembre 2009
Mensajes: 146
Edad: 42 Ubicación:
|
Re: Calcular La Edad Con DateDiff
exelente!!!!
|
#8 Viernes, 29 Abril 2011, 19:21 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|