Determinar edad en Fox

willi455
08 de Octubre del 2004
Determinar edad de acuerdo a la fecha actual y la fecha de nacimiento

Angel Mena Delgado
08 de Octubre del 2004
Holas.
Prueba esto. Version poo

dBirth = DATE(1969,1,18)
oAge = Createobject("age")
*oAge.CalcAge(dBirth, dTarget)
oAge.CalcAge(dBirth)
? oAge.Years, oAge.Months, oAge.Days
? Gomonth(dBirth, oAge.Years * 12 + oAge.Months) + oAge.Days


DEFINE CLASS age As Relation
Years = 0
Months = 0
Days = 0

PROCEDURE CalcAge
LPARAMETERS tdBirth, tdTarget
LOCAL ldTemp, ldBirth, lnDrop
tdTarget = IIF(EMPTY(tdTarget), DATE(), tdTarget)
IF tdBirth > tdTarget
ldTemp = tdTarget
tdTarget = tdBirth
tdBirth = ldTemp
ENDIF
ldBirth = DATE(YEAR(tdTarget), MONTH(tdBirth), DAY(tdBirth))
lnDrop = 0
IF EMPTY(ldBirth) && leap case
ldBirth = DATE(YEAR(tdTarget), 3, 1)
lnDrop = IIF(MONTH(tdTarget) < = 2, 0, 1)
ENDIF
WITH This
.Years = YEAR(tdTarget) - YEAR(tdBirth) - (IIF(ldBirth > tdTarget, 1, 0))
.Months = (MONTH(tdTarget) - MONTH(tdBirth) + 12 - ;
(IIF(DAY(tdBirth) > DAY(tdTarget), 1, 0))) % 12
.Days = tdTarget - GOMONTH(tdBirth, .Years * 12 + .Months) - lnDrop
ENDWITH
ENDPROC

ENDDEFINE


Articulo tomado de www.portalfox.com

kely
08 de Octubre del 2004
Hola, Angel
Con unos pequeños cambios, funcionó

Gracias

CesarZ
08 de Octubre del 2004
Seria Algo asi
suponiendo que tienes esos textbox en tu form

txtmiedad.value = year(txtfechahoy.value) - year(txtfechanac.value)

suerte