Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Calcular La Edad Con DateDiff
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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!!!
 



 
kexxya - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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!!
 



 
kexxya - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
DIM fecha AS String
  fecha = DateDiff(Year(Now), Year(CDate(TextBox2.Text)), gb.Day)
  TextBox1.Text = Replace(fecha, "-", "")
 


seguiré investigando...
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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)
 



 
kexxya - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Calcular La Edad Con DateDiff 
 
exelente!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Calcular La Edad Con DateDiff 
 
exelente!!!!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron