Others

How to Refresh an Access Subform After Appending Records

Rana GarciaRana Garcia Nov 2, 2026 869 views

Question details

The user needs a method to force a Microsoft Access subform to automatically display newly appended records without having to reopen the form or manually press F5.

How to Refresh an Access Subform After Appending Records
Product
Microsoft Access
Device & OS
not provided
Scenario
Executing an append query to add new rows of data to the active database subform.
Observed behavior
Newly added records appear as blank rows on the subform until the user manually refreshes the data by pressing F5 or closing and reopening the form.
Before you start

Verify the precise names of your main form and subform controls in Design View, as Microsoft Access VBA requires exact naming syntax to successfully target the data source.

Solution 1Recommended

Reassign the Subform's Record Source via VBA

The most reliable method to force a subform to fetch and display appended data is to programmatically reassign its RecordSource or SourceObject property.

Standard 'Requery' commands sometimes fail to update the subform UI properly after an append query. Resetting the record source directly forces Access to redraw the data connections.

1
Open the form in Design View

Right-click your main form in the Access navigation pane and select Design View.

2
Access the VBA Editor

Select the event (such as a button click) that triggers your append query, click the ellipsis (...) in the Property Sheet, and choose Code Builder.

3
Add the RecordSource refresh code

Type the following line immediately after your query execution code: Forms![MainFormName]![SubformControlName].Form.RecordSource = Forms![MainFormName]![SubformControlName].Form.RecordSource

4
Use the SourceObject method if needed

If the RecordSource reassignment fails, try assigning the SourceObject instead: Forms![MainFormName]![SubformControlName].SourceObject = Forms![MainFormName]![SubformControlName].SourceObject

Reassign the Subform's Record Source via VBA
Verify Object Names: Ensure you replace 'MainFormName' and 'SubformControlName' with the exact names used in your database. Note that the subform control name on the main form might differ from the actual subform object name.
Free Microsoft Office alternative

Looking for a Lightweight Alternative to Microsoft Office?

If you frequently manage data exports or need a fast, reliable productivity suite without the heavy subscription costs of Microsoft Office, WPS Office is an ideal solution. While it does not include a database creator like Access, it perfectly handles your exported spreadsheets, documents, and presentations with a familiar interface.

  1. 1. Download the Installer: Navigate to the official WPS Office website and download the free installation package for your operating system.
  2. 2. Install the Suite: Run the downloaded executable file and follow the quick setup wizard to install the software.
  3. 3. Analyze Your Data: Open WPS Spreadsheets to instantly import, edit, and analyze data tables exported from your database systems.
100% compatibility with Microsoft Excel formats (.xlsx) for seamless analysis of exported Access database queries.Completely free to download and use for your daily document processing and spreadsheet needs.Lightweight installation ensures exceptionally smooth performance, even on older computers.
microsoft office alternative - wps office

Frequently Asked Questions

Why does my Access subform show blank rows instead of the appended data?

When an append query runs, it writes data directly to the underlying database table. If the subform's recordset is already loaded and active on the screen, it might not automatically detect the new background data until the form's connection to the table is forcibly refreshed or re-queried.

Why does the SendKeys method turn off my Num Lock?

There is a known legacy issue in Microsoft Access and Windows VBA where using the SendKeys command to simulate certain keystrokes (like F5) inadvertently toggles the Num Lock key state on the physical keyboard.

What is the difference between the Requery and Refresh commands in Access?

'Refresh' updates the data for records that already exist in the form's current dataset, displaying modifications made by other users. 'Requery' entirely re-evaluates the form's underlying query, which is strictly required to display completely new records that have been added via an append query.