Write a dynamic query: Build a string which will represent the SQL statement
to be executed, without the filter you don't want to apply, then, assign
that string to a record source, or as argument of a recordset, or as it fits
in your case.
Alternatively, use a sequence of AND and OR, like:
WHERE ( (NOT FilterOneIsActive) OR Field1 = valueForFilterOne )
AND ( ( NOT FilterTwoIsActive) OR Field2=valueForFilterTwo)
AND ...
which can be shortened a little bit, using IMP, to:
WHERE ( FilterOneIsActive IMP field1 = valueForFilterOne )
AND ( FilterTwoIsActive IMP field2 = valueForFilterTwo )
AND ...
but these generic solutions will be slower than the dynamic query.
Vanderghast, Access MVP