Unfortunately you cannot conditionally pop parameters, but you can ignore them, and rather than preset and pass them, preset and make the report ignore them if they're the default values.
Here's an example record selection formula that will only use the date parameter when the minimum datetime entered is >= 1930 (you can check for whatever makes sense):
(
if minimum({?DateRange}) >= cdatetime(1930,1,1,0,0,0) then
({NullTester.Date1} >= minimum({?DateRange})
and
{NullTester.Date1} <= maximum({?DateRange}))
else if
minimum({?DateRange}) < cdatetime(1930,1,1,0,0,0) then
true
)
and
// just showing another part of the record selection
{NullTester.Text1} <> "foobar"
Be careful when using date functions against a datetime field, you may get bad results, so compare using the same date types.
The above example is based on using a datetime parameter which uses a range.
-k
kai@informeddatadecisions.com