Here DOB is Date of Birth.
Returns Year = DateDiff('yyyy',{DOB},CurrentDate())
Returns Months = DateDiff('m',{DOB},CurrentDate()) - (DateDiff('yyyy',{DOB},CurrentDate()) *12)
Returns Days =
DateDiff('d',{DOB},CurrentDate()) - ( (DateDiff('m',{DOB},CurrentDate()) / 12) * 365.25 )
ToText(DateDiff('d',DATE({EMP_SALARY.DATE_APPOINTMENT}),CurrentDate()) - ( (DateDiff('m',DATE({EMP_SALARY.DATE_APPOINTMENT}),CurrentDate()) / 12) * 365.25 ),0)+' Days '+
ReplyDeleteToText(
((DateDiff('yyyy',CurrentDate(),DATE({EMP_SALARY.DATE_APPOINTMENT})) *12) -12)
-
DateDiff('m',CurrentDate(),DATE({EMP_SALARY.DATE_APPOINTMENT}))
,0)+' Months '
+
ToText(DateDiff('yyyy',DATE({EMP_SALARY.DATE_APPOINTMENT}),CurrentDate),0)+' Years'
this is improved version
The following is working perfectly OK in Crystal report
ReplyDeleteIf (Not(isNull({DataTable2.dbirth}))) Then
ToText(int(DateDiff('d',DATE({DataTable2.dbirth}),CurrentDate())/365.25),0)+' Years '+
ToText(int(remainder(DateDiff('d',DATE({DataTable2.dbirth}),CurrentDate()),365.25)/30),0)+' Months '+
If day(CurrentDate()) < Day({DataTable2.dbirth}) Then
ToText(day(dateserial(year({DataTable2.dbirth}), Month({DataTable2.dbirth})+1,1-1)) - Day({DataTable2.dbirth}) + Day(CurrentDate()),0) + ' days'
Else
ToText(day(CurrentDate()) - day({DataTable2.dbirth}),0) + ' days'