This is classic example of what Jon K's FAQ demonstrates. I believe the "technical" name for this process is Query by Form. Queries that are run from form criteria can return all results by using the following SQL line (as many times as needed (for as many controls as the criteria section references))...
Code:
WHERE ([field] = Forms!FormName!ControlName OR
Forms!FormName!Control IS NULL) AND ([color=red]Repeat the line here if needed[/color])