No, it probably did not work, you just think that it does.
Create a default value for the parameter of "All" or some such, and then create a formula such as:
(
if {?Workstage} <> "All" then
{tablename.field} = {?Workstage}
else
if {?Workstage} = "All" then
true
)
Don't use Bloke's solution, at least not as constructed, null checks in Crystal MUST come first in a formula, and it's paritially redundant, closer would be:
(
if isnull({?Workstage})
or
{?Workstage} = "" then
{tablename.field} = {?Workstage}
else
(
if not(isnull({?Workstage}))
and
{?Workstage} <> "" then
true
)
As for 1=1, it has no purpose and can only serve to confuse the optimizer.
Also keep in mind that parameters act differently depending upon the report viewer in use and how it is invoked, you don't list technical information so you shouldn't expect technical responses.
-k