Office Settings & Configuration

How to Display Access Query Results on the Same Form

Kushani NimanthikaKushani Nimanthika Oct 10, 2026 871 views

Question details

The user wants to display filtered equipment records directly on the current form below drop-down criteria controls, rather than having the query open in a separate window.

How to Display Access Query Results on the Same Form
Product
Microsoft Access
Device & OS
not provided
Scenario
Filtering database records using drop-down criteria controls on a user form.
Observed behavior
When a query is triggered or opened directly, it appears in a separate standalone window instead of embedding the results on the active form.
Before you start

Ensure you have your main query and the necessary drop-down controls (combo boxes) already set up in your Access database before configuring the subform.

Solution 1Recommended

Create a Main Form with a Bound Subform

This is the standard and most effective way to keep search criteria and query results on the same screen in Microsoft Access.

Instead of opening the query directly, you should use the query as the record source for a results form. By placing this results form inside your main form as a subform, you can view and filter data seamlessly.

1
Create the results subform

Create a new continuous form or datasheet form and set its Record Source to your specific query. Save this form with a recognizable name, such as 'frmSearchResults'.

2
Set up the main form

Open your main form in Design View and ensure your drop-down search controls (combo boxes) are unbound.

3
Insert the subform

Drag and drop the 'frmSearchResults' form from the navigation pane into the detail section of your main form, or use the Subform/Subreport control from the Design tab.

4
Add a requery event

Select your drop-down control, go to the Property Sheet, and click the Event tab. In the 'After Update' event, add a Macro or VBA code (e.g., Me.YourSubformName.Requery) to refresh the results whenever a new selection is made.

Create a Main Form with a Bound Subform
Avoid Direct Query Execution: Never open the query directly using macro actions like 'OpenQuery'. Doing so will always force the results into a new, separate window.
Free Microsoft Office alternative

Looking for a Lightweight Alternative for Data Management?

While Microsoft Access handles complex relational databases, spreadsheets are often faster and easier to use for everyday data filtering and management. WPS Office provides a powerful, free Spreadsheet tool perfectly compatible with Microsoft Excel formats, allowing you to filter and summarize records without writing complex queries.

  1. 1. Download and install: Get WPS Office for free from the official website and install it on your computer.
  2. 2. Open WPS Spreadsheet: Launch the application and open your data records using familiar grid-based layouts.
  3. 3. Filter your data: Use the Data Filter and Pivot Table tools from the ribbon to easily search, dropdown-filter, and summarize your records.
Free, lightweight, and easy to install on any deviceFully compatible with Microsoft Excel (.xlsx, .xls) and other Office formatsFamiliar user interface with zero learning curvePowerful built-in Data Filter and Pivot Table features for managing records instantly
microsoft office alternative - wps office

Frequently Asked Questions

Why does my Access query open in a new tab instead of the form?

By default, Microsoft Access opens queries as standalone datasheet views in a new tab or window. To display query results directly on a form, you must bind the query to a form or subform and display that form container instead.

How do I refresh the subform data when I change a dropdown selection?

You need to add a requery command to the 'After Update' event of your dropdown control. You can accomplish this by using a simple VBA code line: Me.[YourSubformControlName].Requery, or by building a Requery macro targeting the subform control.

Can I use a continuous form instead of a subform for query results?

Yes. You can place your unbound search controls in the Form Header section and display the bound query records in the Detail section of a continuous form. Requerying the main form will update the results seamlessly without needing a separate subform.