You could
1 Create a query gathering the same info that your form recordsource. Set it to snapshot to avoid locking conflicts.
2 Get the filter applied to the form, when the user clicks on a command button to launch the report
3 Launch the report based on your query, applying to it the same filter (see DoCmd.OpenReport)