logo
search
Office Settings & Configuration

How to Find an Access Record Using Multiple Combo Box Values

Maira MehtabMaira Mehtab Oct 21, 2026 868 views

Question details

The user needs to locate a specific record or filter a table dynamically by combining the selected criteria from multiple combo boxes on a form.

How to Find an Access Record Using Multiple Combo Box Values
Product
Microsoft Access
Device & OS
not provided
Scenario
Filtering records or querying a database using input from multiple unbound combo boxes on an Access form.
Observed behavior
The combined value from the form's combo boxes cannot be successfully used to locate the matching record or filter the target table.
Before you start

Verify that your combo box controls are properly named in the Property Sheet (e.g., cboCity, cboEmployer) and back up your database before altering form queries or VBA code.

Solution 1Recommended

Use a Query to Reference Combo Boxes as Parameters

Reference open form controls directly in your query's WHERE clause to filter records dynamically based on combo box selections.

This method links your query criteria directly to the form controls. By adding IS NULL handling, you ensure that if a combo box is left blank, the query will still return results without filtering by that specific parameter.

1
Open the target query

Open your Access database, locate the query you want to use for filtering the form or report, and open it in SQL View or Design View.

2
Add form control references

In the WHERE clause, reference your form's combo box using the syntax Forms!FormName!ControlName. For example: Forms!frmReportDialogue!cboCity.

3
Implement IS NULL for optional criteria

Wrap the condition to allow empty selections: WHERE (Cities.CityID = Forms!frmReportDialogue!cboCity OR Forms!frmReportDialogue!cboCity IS NULL).

4
Chain multiple combo boxes

For another field, add a similar condition using the AND operator so each parameter works alone or combined.

5
Add a requery event

Open your form in Design View, select the combo box, navigate to the Event tab in the Property Sheet, and add Me.Requery to the 'After Update' event.

Partial Matches: For partial matches, you can use LIKE "*" & [Parameter] & "*", but be aware that LIKE searches can reduce database performance.
Free Microsoft Office alternative

Need a Lightweight Alternative to Complex Databases? Try WPS Office

While Microsoft Access is powerful for complex relational databases, managing lists, forms, and filtered records can often be done more easily in a robust spreadsheet environment. WPS Office offers a free, lightweight suite with highly compatible Spreadsheet software, perfect for organizing and filtering data without complex SQL queries or VBA.

Fully compatible with Microsoft Excel (.xlsx) formats for easy data migration.Powerful built-in filtering and data validation tools to replace complex combo box queries.Lightweight and free to use, saving you from expensive database software subscriptions.Familiar, tabbed user interface that makes managing large datasets intuitive.
microsoft office alternative - wps office

Frequently Asked Questions

Why does my Access query return no results when one combo box is empty?

By default, if a combo box is empty, Access treats it as a NULL value. If your query uses a strict equals (=) condition without handling NULLs, it searches for records where the field is literally NULL, yielding no results. Use the 'OR [ControlName] IS NULL' syntax in your query criteria so empty combo boxes are ignored.

Does using LIKE and wildcards in Access affect performance?

Yes, using the LIKE operator with wildcards (such as *) can significantly reduce database performance, especially on large tables. This is because Access cannot effectively use table indexes for partial string matches, forcing it to scan the entire table to find matching records.

How do I automatically refresh the form data after changing a combo box value?

You need to requery the form. Open the form in Design View, select the combo box, and go to the Event tab in the Property Sheet. In the 'After Update' event, choose Code Builder and type 'Me.Requery'. This forces the form to refresh its data based on the newly selected value immediately.