Thanks for the responses, everyone.
After neileg's response, I pushed harder with my searching, and found a method that works, using a bunch of conditionals and building a filter string from that.
But, I think JonK's sample DB that EMP linked might be a bit smoother. I'll have to play with it...