It’s annoying isn’t it that not everyone was born on the 1st Jan. If they were then all we’d have to do is…

Year ( Get(CurrentDate) ) – Year ( Date_Born ) // Date_Born is the name of the field with their date of birth.

But as it is we have do do the year bit, and then work out month wise have re reached their birth month yet, and then day wise have we reached their birthday yet. So the calc looks like this…

Case(
// XXXXXXXXXXXXXX not born in this month
Year(Date_Born) < Year( Get( CurrentDate))
and
Month(Date_Born) < Month( Get( CurrentDate)); Year( Get( CurrentDate)) – Year(Date_Born);

Year(Date_Born) < Year( Get( CurrentDate))
and
Month(Date_Born) > Month( Get( CurrentDate)); Year( Get( CurrentDate)) – Year(Date_Born) – 1 ;

// XXXXXXXXXXXXXX If born in this month check dates
Year(Date_Born) < Year( Get( CurrentDate))
and
Month(Date_Born) = Month( Get( CurrentDate))
and
Day(Date_Born) < Day( Get( CurrentDate)); Year( Get( CurrentDate)) – Year(Date_Born);

Year(Date_Born) < Year( Get( CurrentDate))
and
Month(Date_Born) = Month( Get( CurrentDate))
and
Day(Date_Born) > Day( Get( CurrentDate)); Year( Get( CurrentDate)) – Year(Date_Born) – 1 ;

Year(Date_Born) < Year( Get( CurrentDate))
and
Month(Date_Born) = Month( Get( CurrentDate))
and
Day(Date_Born) = Day( Get( CurrentDate)); Year( Get( CurrentDate)) – Year(Date_Born) ;

// XXXXXXXXXXXXXX If born in this year not 1 yet
Year(Date_Born) = Year( Get( CurrentDate)); “0” ;

“<1”)