How to Fix Access Report Ignoring Form Filter Criteria
Question details
The user needs a Microsoft Access report to properly apply the filter criteria passed from a linked form instead of just its own sort order.

- Product
- Microsoft Access 2019
- Device & OS
- not provided
- Scenario
- Opening a report from a filtered form, potentially using VBA in the report's Open event.
- Observed behavior
- The report ignores the form's filter criteria and only applies its own sort order, displaying unfiltered data.
Ensure that your linked form remains open in the background before running the report, as Access requires the active form controls to evaluate and apply the filter properly.
Link Report Record Source to the Form's Query
The most reliable method to apply form filters to a report is by binding the report's record source directly to a query that references the form's controls.
By pointing the report directly to a query that evaluates the form's input, the report will naturally inherit the filter without needing complex VBA.
Open the query that drives your report in Design View. In the criteria row for the relevant field, reference the form control using the syntax [Forms]![YourFormName]![YourControlName].
Open your report in Design View, navigate to the Property Sheet, and set the 'Record Source' to this updated query.
Ensure the form is open when you trigger the report so Access can fetch the current filter values from the form's controls.
Use the report's native 'Sorting and Grouping' pane rather than relying on the underlying query for sorting the data.

Pass Filter Criteria Using WhereCondition in VBA
Instead of modifying the query directly, you can pass the form's active filter string to the report when opening it via a VBA command.
Looking for a Lightweight Alternative for Your Daily Office Tasks?
While Microsoft Access handles complex database logic, much of your daily data management, analysis, and reporting can be efficiently managed using WPS Office. It provides a free, lightweight, and highly compatible suite for your documents, spreadsheets, and presentations.

Frequently Asked Questions
Why does my Access report show all records instead of the filtered ones?
This usually happens if the report's Record Source isn't correctly linked to the form's query, or if the form is closed before the report runs, breaking the reference to the filter criteria.
Can I sort an Access report based on a form's selections?
Yes, but you cannot rely on the query's sort order. You must use the report's Sorting and Grouping settings in Design View, or use VBA in the report's On Open event to dynamically set the OrderBy property based on the form's controls.
Do I need to use VBA to filter a report from a form?
Not necessarily. You can simply link the report's Record Source to a query that directly references the form controls in its criteria row, which requires no coding.
What happens if I close the form before opening the linked report?
If the form is closed, Access cannot evaluate the form controls referenced in the query criteria. You will typically get a parameter prompt asking you to manually enter the value.




