Joined: 14 Dec 2016
Online Status: Offline
Posts: 2
Topic: Birthday formula error Posted: 03 Jan 2017 at 9:08am
Hi all,
I have the following formula below. I am receiving the error " A day number must be between 1 and the number of days in the month" . The report is supposed to show birthdays in the week.
It had worked normally until yesterday, 1/2/17 but now it's failing. Ideas?
if month(CurrentDate) * 100 + day(CurrentDate) > Month({Command.birth_date}) * 100 + day ({command.birth_date})
then Date(Year (CurrentDate) , Month({Command.birth_date}), Day({Command.birth_date}))
else Date(Year (CurrentDate) , Month({Command.birth_date}), Day({Command.birth_date}))
Joined: 29 Oct 2009
Online Status: Offline
Posts: 1587
Posted: 04 Jan 2017 at 4:18am
Since it is not liking the day function. Then you have to look at your data and see if you have an incorrect date (Command.birth_date). It is unlikely that the CurrentDate function would return an incorrect date.
Joined: 14 Dec 2016
Online Status: Offline
Posts: 2
Posted: 04 Jan 2017 at 4:47am
command.birth_date is coming from the database, I did a Browse Data and the format looks correct on all entries. Is that what you mean by incorrect date?
Joined: 19 Dec 2008
Online Status: Offline
Posts: 9053
Posted: 05 Jan 2017 at 5:43am
my guess is because 2016 was a leap year.
If your DB has any person with 2/29 as a DOB it is failing because it is trying to set this as 2/29/2017 which is not a valid day.
I am very confused by the formula you posted though as your THEN and ELSE are returning the same values so why bother with the IF?
You might consider using a datediff and dateadd function if you are trying to 'shift' the DOB to the current year with the DON month and day. This would account for leap years and use 2-28 as the DOB for those people on only current years that are not a leap year.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum