Which viewer are you using?
I create defaults for dates and preload them with 1/1/1970, and I set the description to All and make this the default and set the Display to only the description.
When the user goes to enter the date range they will see All as a choice and they'll need to deselect the pick from defaults to enter dates.
Then in the record selection formula I use:
(
if {?dateparm} <> cdate(1970,1,1) then
{table.date} = {?dateparm}
else
if {?dateparm} = cdate(1970,1,1) then
true
)
Now they will see All as the standard choice, and have the option of selecting a date range.
Unfortunately you can't programatically interact with the standard Crystal viewers, so you can't trap values entered and respond to them.
-k