"A month number must be between 1 and 12" error in formula

I've created a report that will run for the last twelve months based on the current date (a rolling 12 month report).

I'd like to make some corresponding labels for the month values.  I was using this:
monthname (Month (CurrentDate), True)
monthname (Month (CurrentDate) - 1, True)
etc.

and it was working great until I got to month - 10.  Then I got this error:

A month number must be between 1 and 12


Any ideas?  Is there another way to accomplish my goal?  Also, I have to keep the labels short for space consideration which is why I need "Oct" instead of "October".

Thanks in advance,

Steve
LVL 7
SStrozAsked:
Who is Participating?
 
peter57rConnect With a Mentor Commented:
for previous months..
monthname (Month (dateadd("m",-1, CurrentDate) , True)
monthname (Month (dateadd("m",-2, CurrentDate) , True)
etc
0
 
wykabryanCommented:
Peter is correct.

The problem that you are running into with taking a month minus 1 is that month is a number not a date, so 1-1 = 0 but Crystal then tries to reapply date functionality to it and errors cause there is no 0 month. I stress this to all of my developers, anytime you are doing a date modification use the dateadd function. It will prevent many issues down the road.
0
 
mlmccCommented:
I agree.  Good explanation.

It also solves the year issue.

mlmcc
0
 
SStrozAuthor Commented:
peter57r,

When I try:
monthname (Month (dateadd("m",-10, CurrentDate) , True)

I get an error that "the ) is missing".  If I add a ")" at the end of the statement I get an error that Too many arguments have been given to this function.

What am I missing?

Steve
0
 
mlmccConnect With a Mentor Commented:
Put it after CurrentDate

monthname (Month (dateadd("m",-10, CurrentDate) ), True)

mlmcc
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.