Others

How to Refresh or Requery Open Forms and Reports in MS Access

Camila MilosovichCamila Milosovich Nov 2, 2026 869 views

Question details

Users need a reliable way to ensure open forms and reports in Microsoft Access reflect the most current shared data without causing errors or disrupting workflows.

How to Refresh or Requery Open Forms and Reports in Microsoft Access
Product
Microsoft Access
Device & OS
not provided
Scenario
Working in a shared Access database environment where multiple users are updating data, but open forms or reports do not automatically display the latest changes.
Observed behavior
Open forms and reports fail to update automatically after shared data changes. Commands like Me.Refresh or Me.Requery may fail or trigger Error 2046 when no specific object is selected.
Before you start

Ensure you have the necessary design permissions to edit the form's VBA code, and test your changes in a safe development copy of your database before applying them to a live multi-user environment.

Solution 1Recommended

Requery Using the Form's Activate Event

Triggering a requery when the user switches back to the form ensures the latest data is loaded right when it is needed, without causing disruptive background refreshes.

Instead of running constant background refreshes that might interrupt a user's data entry, a common and highly effective approach is to requery the form only when it regains focus. By linking the requery action to the form's Activate event, the data updates automatically every time the user returns to the form.

1
Open Form in Design View

Right-click the specific form in your Microsoft Access navigation pane and select 'Design View'.

2
Access the Property Sheet

Press F4 to open the Property Sheet. Ensure that 'Form' is selected in the dropdown menu at the top of the sheet.

3
Locate the On Activate Event

Navigate to the 'Event' tab in the Property Sheet, find the 'On Activate' row, and click the ellipsis (...) button. Choose 'Code Builder' and click OK.

4
Insert the Requery Code

In the VBA editor, type 'Me.Requery' inside the Private Sub Form_Activate() block. Save the module and return to your form.

Requery Using the Form's Activate Event
Optimal Performance: This method minimizes unnecessary database queries and network traffic, providing a smooth experience in multi-user environments.
Free Microsoft Office alternative

Looking for a Lightweight, Free Office Suite?

While Microsoft Access handles complex databases, WPS Office provides a powerful, free suite for all your daily document, spreadsheet, and presentation tasks. It is fully compatible with Microsoft Office formats and operates smoothly without slowing down your system.

  1. 1. Download the Installer: Visit the official WPS Office website and click the Free Download button.
  2. 2. Run the Installation: Open the downloaded installer file and follow the simple on-screen instructions.
  3. 3. Open Your Files: Launch WPS Office and instantly open or edit your existing Microsoft Office files without losing any formatting.
Seamless compatibility with Microsoft Word, Excel, and PowerPoint file formats.Lightweight installation that is fast and friendly on system resources.Familiar, easy-to-use tabbed interface to manage multiple files in one window.Comprehensive built-in PDF tools for reading, editing, and converting documents.
microsoft office alternative - wps office

Frequently Asked Questions

What is the difference between Me.Refresh and Me.Requery in Access?

Me.Refresh only updates the data in the records currently displayed on your form, showing changes made by other users, but it does not add new records or remove deleted ones. Me.Requery completely reruns the query underlying the form, meaning it will display newly added records and remove deleted ones.

Why do I get Error 2046 when running the acCmdRefresh command?

Error 2046 occurs when a specific command is not available in the current context. For example, if no object is selected, if the database is in a read-only state, or if the form's focus is on a control that doesn't support the refresh action, Access will trigger this error.

Will automatic requerying disrupt other users in a shared Access database?

An automatic requery on a tight timer can disrupt the person currently using that specific form by resetting their cursor to the first record or interrupting their typing. It generally does not disrupt other users working on different machines, but user-controlled refreshes or Activate event requeries are considered better practices for user experience.