Calculo Automático de edad

Bueno t explico mi problema estoy realizando un sistema en power builder con bd access 2003 en el cual hay una tabla beneficiario y contiene una columna fecha_nac de tipo "datetime" y una columna edad de tipo "double", se ingresa la fecha nacimiento y la edad respectivamente, ejemplo se ingresa un beneficiario con fecha nacimiento 16/02/1992 de edad 17 años, lo que necesito es que el próximo año al llegar el día y mes ingresados en la fecha nacimiento su edad se sume más + 1 osea 18.

1 respuesta

Respuesta
1
t creas una function object llamada f_edad(datetime d_fecha) return Long
Long l_diaa, l_mesa, l_añoa
Long l_diai, l_mesi, l_añoi
Long l_edad
l_diaa = Integer(Left(String(today(),"dd/mm/yyyy"),2))
l_mesa = Integer(mid(String(today(),"dd/mm/yyyy"),4,2))
l_añoa = Integer(mid(String(today(),"dd/mm/yyyy"),7,4))
l_diai = Integer(Left(String(d_fecha,"dd/mm/yyyy"),2))
l_mesi = Integer(mid(String(d_fecha,"dd/mm/yyyy"),4,2))
l_añoi = Integer(mid(String(d_fecha,"dd/mm/yyyy"),7,4))
l_edad = 0
if l_mesi > l_mesa then
 l_edad = l_añoa - l_añoi - 1
else
 if l_mesa = l_mesi AND l_diai > l_diaa then
  l_edad = l_añoa - l_añoi - 1
 else
 l_edad = l_añoa - l_añoi
 end if
end if
return l_edad
=======================
T creas un objeto dw.. ese dw sera el listado general... t creas otra function object... f_actualiza_edad() ... y pons esto...
int li
long ll_edad
datastore ds
ds = create datastore
ds.dataobject='d_object'
ds.settransobject(sqlca)
ds.retrieve()
for li = 1 to ds.rowcount()
 ll_edad = f_edad(ds.getitemdatetime(li,'fecha_nac'))
 ds.setitem(li,'edad',ll_edad)
 ds.update()
next
=========================
...n el evento open d tu window principal pones..
timer(60*60)//se ejecutara el evento timer cada 60 min desde la ejecucion d la aplicacion
==================
...x ultimo n el evento timer dl mismo window pones sto....
f_actualiza_edad()
... eso es too... cualquier c

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas