Calculo de edad
Hola que tal, te escribo porque tengo un formulario en el cual tengo 2 campos, fecha de nacimiento y edad, la idea es hacer que cuando uno ingrese la fecha de nacimiento en el campo edad salga la edad automaticamente, recien me estoy iniciando en este tema y nose como programar algo asi, ni donde colocarlo
Desde ya muchas gracias
Desde ya muchas gracias
envieme un correo y te mando el formulario ya crado con codigo fuente y tal
En el load del formulario inicializá los valores de cada campo de esta manera asi se facilita el control del tipo de dato:
thisform.txtfecha.value={}
thisform.txtedad.value=0
Luego, en el evento lostfocus de txtfecha poné:
thisform.txtedad.value=iif(padl(month(date()),2,'0')+padl(day(date()),2,'0')<padl(month(thisform.txtfecha.value),2,'0')+padl(day(thisform.txtfecha.value),2,'0'),year(date())-year(thisform.txtfecha.value)-1,year(date())-year(thisform.txtfecha.value))
thisform.txtfecha.value={}
thisform.txtedad.value=0
Luego, en el evento lostfocus de txtfecha poné:
thisform.txtedad.value=iif(padl(month(date()),2,'0')+padl(day(date()),2,'0')<padl(month(thisform.txtfecha.value),2,'0')+padl(day(thisform.txtfecha.value),2,'0'),year(date())-year(thisform.txtfecha.value)-1,year(date())-year(thisform.txtfecha.value))
Te sugiero que crees una función llamada CalculaEdad que contenga lo siguiente:
parameters tdFecNac
local lnAñoNac, ldFecAct
local lnEdad
ldFecAct = date()
lnAñoAct = year(ldFecAct)
ldCumple = date(lnAñoAct, month(tdFecNac), day(tdFecNac))
lnEdad = lnAñoAct - year(tdFecNac) - iif(ldFecAct >= ldCumple, 0, 1)
return lnEdad
Luego, en el LostFocus del textbox para la fecha de nacimiento, coloca lo siguiente:
Edad = CalculaEdad(this.Value)
thisform.txtEdad.Refresh
parameters tdFecNac
local lnAñoNac, ldFecAct
local lnEdad
ldFecAct = date()
lnAñoAct = year(ldFecAct)
ldCumple = date(lnAñoAct, month(tdFecNac), day(tdFecNac))
lnEdad = lnAñoAct - year(tdFecNac) - iif(ldFecAct >= ldCumple, 0, 1)
return lnEdad
Luego, en el LostFocus del textbox para la fecha de nacimiento, coloca lo siguiente:
Edad = CalculaEdad(this.Value)
thisform.txtEdad.Refresh
