How to Fix the Access 'Refresh Is Not Available' Macro Error
Question details
The user encounters a 'Refresh is not available now' error when attempting to run a macro to refresh data in a form.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Running an Access form macro to refresh the form or query without writing VBA code.
- Observed behavior
- The macro displays an error stating 'The command or action Refresh is not available now,' even though the manual Refresh button on the Quick Access Toolbar works perfectly.
Verify that the form or subform you are trying to refresh is completely loaded and is the currently active object in your Access database.
Adjust Macro Context and Action Order
The error often occurs because the macro loses focus on the target form. Selecting the object before refreshing usually resolves the problem.
Macros in Access rely heavily on the current context. If a macro attempts to refresh an object that is not actively selected (or if the focus has shifted to a different background task or filter update), the action becomes unavailable.
In your Access database, locate the problematic macro in the Navigation Pane, right-click it, and select 'Design View'.
Add a 'SelectObject' action into the macro just before the step that applies the Refresh or Requery command.
Set the Object Type argument to 'Form' and the Object Name argument to the specific name of your form.
Ensure that the 'Refresh' action is placed immediately after the 'SelectObject' action, and after any TempVars or filter values have been updated.
Save the macro, switch back to Form View, and trigger the macro to confirm the error is gone.

Use the Requery Action Instead of Refresh
If the Refresh command remains unavailable, using the Requery action on the specific control or form is a highly reliable alternative.
Convert the Macro to a VBA Routine
When macro contexts fail to capture the correct object, replacing the macro with a simple VBA command offers more precise control.
Looking for a Lightweight, Reliable Office Suite? Try WPS Office
While Microsoft Access is a specialized database tool, for all your daily spreadsheet, document, and presentation needs, WPS Office offers a powerful, free, and highly compatible alternative. Enjoy seamless handling of exported database data without the heavy resource usage of traditional Office suites.
- 1. Export Access Data: Export your Microsoft Access tables or query results to an Excel (.xlsx) or CSV file.
- 2. Download WPS Office: Download and install the free WPS Office suite from the official website.
- 3. Open and Analyze: Open the exported file seamlessly in WPS Spreadsheet to analyze your data with advanced pivot tables and charts.

Frequently Asked Questions
Why does manual refresh work but the macro fails?
When you click 'Refresh All' on the Quick Access Toolbar, Access automatically applies the command to the currently visible and active screen. A macro, however, might execute in the background or lose focus on the active form while processing previous actions, causing the refresh command to fail.
What is the difference between Refresh and Requery in Access macros?
The 'Refresh' action only updates the data currently displayed on screen, reflecting changes made to existing records by other users. The 'Requery' action re-runs the underlying query entirely, which brings in new records, removes deleted ones, and resets the form's display based on new filter criteria.
Can I completely bypass this macro error without writing any VBA code?
Yes. By carefully structuring your macro in the Macro Designer—specifically by adding a 'SelectObject' action before the refresh step, or by substituting the 'Refresh' action with a targeted 'Requery' action—you can resolve the issue without needing to write VBA.




