logo
search
Others

How to Refresh an Access Combo Box Without Reopening MS Access

Partner EditorPartner Editor Sep 28, 2026 869 views

Question details

The user needs newly added records in a Microsoft Access table to immediately appear in a form's combo box without having to restart the application.

How to Refresh an Access Table and Combo Box Without Reopening
Product
Microsoft Access
Device & OS
not provided
Scenario
Adding new records to an Access database table via a form that need to be immediately selectable in a dropdown combo box.
Observed behavior
The combo box does not display the newly added records until the Microsoft Access database is completely closed and reopened.
Before you start

Ensure you have a backup of your MS Access database before modifying form properties or adding VBA code. Verify that your combo box is bound to a unique primary key (like MemberID) rather than a simple text name to prevent duplication errors.

Solution 1Recommended

Use an Add Button and the AfterInsert Event

This is the most robust method to add new records via a dialog form and instantly update the combo box using VBA.

By opening a data entry form in dialog mode, code execution on the main form is paused until the new record is saved. The combo box is then refreshed immediately.

1
Create an Add Button

Add a command button next to the combo box on your main form. Set its On Click event to open your data entry form (e.g., frmMembers) using DataMode:=acFormAdd and WindowMode:=acDialog.

2
Modify the Data Entry Form

Open the properties of your data entry form in Design View and navigate to the 'AfterInsert' event.

3
Add the Requery Code

Open the VBA editor and instruct the main form to requery the combo box: Forms("frmMain").cboYourComboBox.Requery.

4
Assign the New Key

In the same AfterInsert event block, assign the newly generated primary key to the combo box so it is automatically selected: Forms("frmMain").cboYourComboBox = Me.NewID.

Combo Box Updated: Your combo box will now instantly display and select the new record once the add form is submitted and closed.
Free Microsoft Office alternative

Discover WPS Office: A Lightweight Microsoft Office Alternative

While Microsoft Access handles complex relational databases, for everyday data management, list tracking, and dynamic dropdown menus, WPS Spreadsheet offers a lightweight, completely free, and highly compatible alternative. You can easily manage large datasets and apply data validation without needing complex VBA code.

  1. 1. Download WPS Office: Visit the official WPS website to download and install the free WPS Office suite on your device.
  2. 2. Open Your Data Lists: Launch WPS Spreadsheet and easily import your existing Excel or CSV data tables.
  3. 3. Create Dynamic Dropdowns: Navigate to the Data tab and use the Data Validation feature to create dropdown menus that instantly update as you add new list items.
Fully compatible with Microsoft Excel (.xlsx) and other standard Office formats.Built-in Data Validation to create dynamic, instantly updating dropdown lists without programming.Lightweight installation and a familiar, user-friendly interface for seamless migration.Completely free to use with comprehensive data analysis and spreadsheet tools.
microsoft office alternative - wps office

Frequently Asked Questions

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

The 'Requery' method re-runs the underlying query or table attached to a control (like a combo box), bringing in newly added records and removing deleted ones. The 'Refresh' method only updates the data in existing records that are currently displayed, but it does not add new records to the list.

Why does my NotInList event fail to update the combo box?

This usually happens if the 'Limit to List' property is not set to Yes, or if your VBA code does not explicitly return the response constant 'Response = acDataErrAdded'. Returning this constant is mandatory to instruct Access to seamlessly requery the list after data entry.

Can I bind a combo box to a text name instead of a numeric ID?

While possible, it is highly discouraged in relational database design. Text names are not unique (e.g., two people named John Smith). You should always bind the combo box to a unique primary key (like MemberID) and adjust the column widths (e.g., 0";1.5") so the ID is hidden from the user while the name remains visible.