I'd first take a look at the drop down calendar. If this works for you, problem solved--though it's not exactly what you describe here.
But let's say that you user selects a month number and a year in fields named Month, Year. (and you can set up a value list where the months are picked by name and a calculation uses the month name to get the month number).
Date ( Month ; 1 ; year ) will return the date for the first day of the month. and
Date ( Month + 1 ; 0 ; year ) will return the date for the last day of the month.
Thanks for your help. This sounds like this should work but I'm having some issues.
I have a date called SaleDate and tried Month ( SaleDate ) +1 ); 0 ; Year ( SaleDate ) to get the last day of the month.
It will not let me save the calculated field.
Nevermind. I got that part to work and I think I can figure out how to get it to round to the end of the month instead of one month forward that I'm getting.
It's by specifying a day value of 0 that the Date function is able to return a date for the last day of the previous month.
Date ( Month ( SaleDate ) +1 ); 0 ; Year ( SaleDate ) )
should do that provided that SaleDate is either a field of type date, timestamp or a calculation field with a date or timestamp result type. (What won't work is if SaleDate is a text field or a calculation with a text result type.)