Others

How to Filter an Access Form Using Yes/No Checkboxes

Jason MillerJason Miller Nov 4, 2026 869 views

Question details

The user needs to filter records in a Microsoft Access form using unbound Yes/No checkboxes without triggering parameter prompts.

How to Filter an Access Form Using Yes/No Checkboxes
Product
Microsoft Access
Device & OS
not provided
Scenario
Setting up a form with unbound checkboxes to dynamically filter data displayed from a table with Boolean fields.
Observed behavior
Incorrect form or control references cause an unwanted parameter prompt to appear. Additionally, having multiple Boolean columns indicates a table design that may need normalization.
Before you start

Ensure your form is open in Design View and take note of the exact names of your unbound checkboxes as well as the actual Boolean field names in your underlying table.

Solution 1Recommended

Use SQL Query Criteria and Requery in VBA

Set up a dynamic SQL query referencing the form controls and use a VBA macro to requery the data upon checkbox updates.

To properly filter without prompts, the query must specifically point to the open form's controls. Using the correct SQL syntax handles both checked and unchecked states.

1
Open the Record Source in SQL View

Go to the Record Source property of your form, open the query builder, and switch to SQL View.

2
Add the WHERE Clause

Insert the condition for your checkbox referencing the full form path. For example: `WHERE (BooleanField = Forms!YourFormName!CheckBoxName OR Forms!YourFormName!CheckBoxName = FALSE)`. Save the query.

3
Add Requery Code to the Checkbox

In Design View, select your checkbox, open the Property Sheet, and click the ellipsis (...) next to the 'After Update' event. Add the VBA code: `Me.Requery`.

4
Initialize Form State on Open

Select the entire form, go to the 'On Open' event, and write VBA code to set your checkboxes to False, followed by `Me.Requery` to ensure a clean filter start.

Use SQL Query Criteria and Requery in VBA
Database Normalization Recommendation: If you have many Boolean columns (e.g., bln1, bln2, bln3), it may indicate poor table design because data is encoded as headings. Consider normalizing your database by storing these options as individual values in a related table.
Free Microsoft Office alternative

Looking for a Lightweight Office Suite? Try WPS Office

While Microsoft Access serves specific database management needs, everyday tasks like document processing, data analysis, and presentations require an efficient, comprehensive suite. WPS Office offers a free, lightweight, and highly compatible alternative for handling your Word documents, Excel spreadsheets, and PowerPoint presentations.

Fully compatible with Microsoft Word, Excel, PowerPoint, and PDF formats.Lightweight architecture ensures smooth performance even on older devices.Familiar user interface enables seamless migration with no learning curve.Rich library of built-in templates and integrated PDF editing tools.
microsoft office alternative - wps office

Frequently Asked Questions

Why do I get a parameter prompt when filtering my Access form?

This usually happens because the query cannot find the control name specified in the criteria. Ensure you are using the exact syntax `Forms!YourFormName!YourCheckboxName` and that the form remains open when the query runs.

What does 'Me.Requery' do in Access VBA?

The `Me.Requery` command forces the active form to re-read its data source. When placed in the After Update event of a checkbox, it instantly refreshes the displayed records based on the newly updated filter criteria.

Is having multiple Yes/No columns bad database design?

Often, yes. Having many Yes/No columns (Boolean fields) to represent different categories usually violates database normalization principles. A better, scalable design is to create a related table where these options are stored as individual rows rather than column headings.