IF !empty(thisform.container3.text1.value) ldStart=thisform.container3.text1.value thisform.container3.text3.value=cdow(thisform.container3.text1.value) lnYearCount=0 IF !EMPTY(ldStart) IF ldStart>DATE() RETURN .f. ENDIF lnStartDay=DAY(ldStart) lnStartMonth=MONTH(ldStart) lnStartYear=YEAR(ldStart) lnTodayDay=DAY(DATE()) lnTodayMonth=MONTH(DATE()) lnTodayYear=YEAR(DATE()) lnYearCount=lnTodayYear-lnStartYear lnYearCount=IIF(lnStartMonth>lnTodayMonth,lnYearCount-1,IIF((lnStartMonth=lnTodayMonth) .and. (lnStartDay>lnTodayDay),lnYearCount-1,lnYearCount)) lnMonthCount=lnTodayMonth-lnStartMonth IF lnStartDay>lnTodayDay lnMonthCount=lnMonthCount-1 ENDIF IF lnMonthCount<0 lnMonthCount=lnMonthCount+12 ENDIF lnDayCount=lnTodayDay-lnStartDay DO CASE CASE INLIST(lnStartMonth,1,3,5,7,8,10,12) lnLastDayOfMonth=31 CASE INLIST(lnStartMonth,4,6,9,11) lnLastDayOfMonth=30 CASE lnStartMonth=2 IF MOD(lnStartYear,400)=0 lnLastDayOfMonth=29 ELSE IF MOD(lnStartYear,100)=0 lnLastDayOfMonth=28 ELSE IF MOD(lnStartYear,4)=0 lnLastDayOfMonth=29 ELSE lnLastDayOfMonth=28 ENDIF ENDIF ENDIF ENDCASE IF lnDayCount<0 lnDayCount=lnDayCount+lnLastDayOfMonth ENDIF ENDIF thisform.container3.text2.value=alltrim(str(lnDayCount))+; +alltrim("-")+alltrim(str(lnMonthCount))+alltrim("-")+; alltrim(str(lnYearCount)) ENDIF>Dear Experts
>IF !empty(thisform.container3.text1.value) > b_date=thisform.container3.text1.value > thisform.container3.text3.value=cdow(thisform.container3.text1.value) > > y_ears=0 > IF !EMPTY(b_date) > IF b_date>DATE() > RETURN .f. > ENDIF > > db=DAY(b_date) > mb=MONTH(b_date) > yb=YEAR(b_date) > > dd=DAY(DATE()) > MD=MONTH(DATE()) > yd=YEAR(DATE()) > > y_ears=yd-yb > y_ears=IIF(mb>md,y_ears-1,IIF((mb=md) .and. (db>dd),y_ears-1,y_ears)) > m_onths=md-mb > > IF db>dd > m_onths=m_onths-1 > ENDIF > IF m_onths<0 > m_onths=m_onths+12 > ENDIF > > d_ays=dd-db > > DO CASE > CASE INLIST(mb,1,3,5,7,8,10,12) > d_calc=31 > CASE INLIST(mb,4,6,9,11) > d_calc=30 > > CASE mb=2 > IF MOD(yb,400)=0 > d_calc=29 > > ELSE > IF MOD(yb,100)=0 > d_calc=28 > ELSE > IF MOD(yb,4)=0 > d_calc=29 > ELSE > d_calc=28 > ENDIF > ENDIF > ENDIF > ENDCASE > > IF d_ays<0 > d_ays=d_ays+d_calc > ENDIF > ENDIF > > thisform.container3.text2.value=alltrim(str(d_ays))+; > +alltrim("-")+alltrim(str(m_onths))+alltrim("-")+; > alltrim(str(y_ears)) >ENDIF > >THISFORM.REFRESH >