You can download all items and then filter on market but that's going to be a performance nightmare.
To parameterize your query either a) requires code, or b) requires a Web service.
A Web service is better since you can use it for multiple XSNs and you don't have to bother maintaining code in the form.
Qdabra provides a Web service for SQL that supports parameterized queries - it's called qWSSP, free trials exist, but it's cheap - it's only $495 which is less than it would take you to write your own and it's generic so it will work with any XSN.
Alas, qWSSP doesn't work with Access so that won't work for you.
You could hire some programmers to code up a parameterized query.
Or, you could move your Access DB to a free version of SQL (for example SQL Express) and go from there. Transferring Access to SQL is pretty straightforward.
One more option: move your Access DB to SharePoint List and use qRules to filter the SharePoint list on the server. qRules is another Qdabra product for InfoPath. It instals on the client (not on the server) and uses the FilterOwssvr command to dynamically query a SharePoint list. Cheaper than qWSSP (only $199) and requires no server install, but not free.
That's all I know! :) Best practice is to use SQL and a Web Service.
Cheers,