logo
search
Others

How to Update Fields from a Drop-Down List in Access Forms

Kushani NimanthikaKushani Nimanthika Oct 9, 2026 869 views

Question details

The user needs to select an engineer from a drop-down list (combo box) in a Microsoft Access form to automatically display or edit related contact details.

How to Update Fields from a Drop-Down List in Access Forms
Product
Microsoft Access
Device & OS
not provided
Scenario
Designing a database form where selecting an item from a drop-down list synchronizes the form with the corresponding data record.
Observed behavior
A reliable method is needed to link the visual selection (names) to a stable numeric identifier without duplicating records, allowing automatic syncing of form fields.
Before you start

Ensure your Engineers table is set up with an AutoNumber field as the primary key (e.g., EngineerID) and contains sample records before designing your form.

Solution 1Recommended

Use an Unbound Combo Box with VBA (RecordsetClone)

Synchronize your form with the selected record using an unbound combo box and a short VBA script. This is the most reliable and flexible method.

Using an AutoNumber ID as the BoundColumn ensures accurate record matching, even if two engineers share the same name.

1
Set Up the AutoNumber Primary Key

Open the Engineers table in Design View. Ensure you have a field named 'EngineerID' set to the AutoNumber data type, and mark it as the Primary Key.

2
Add an Unbound Combo Box

Open your form in Design View. From the Form Design ribbon, drag a Combo Box control onto the form. Cancel the wizard if it appears, leaving the combo box unbound.

3
Configure Combo Box Properties

Open the Property Sheet for the combo box. Set 'Row Source' to your Engineers table. On the Format tab, set 'Column Count' to 2 (ID and Name) and 'Column Widths' to '0";1.5"' to hide the numeric ID from users.

4
Add the VBA Sync Code

Go to the Event tab in the Property Sheet, click the ellipsis (...) next to 'After Update', and choose Code Builder. Enter this VBA code: Me.RecordsetClone.FindFirst "[EngineerID] = " & Me![ComboBoxName] followed by Me.Bookmark = Me.RecordsetClone.Bookmark.

Use an Unbound Combo Box with VBA (RecordsetClone)
Auto-Save Functionality: You do not need to build a 'Save' button. Microsoft Access automatically saves edits when you navigate to another record or close the form.
Free Microsoft Office alternative

Discover WPS Office: A Lightweight and Free Office Suite

While WPS Office does not include a database tool like Access, it offers exceptional alternatives for Word, Excel, and PowerPoint. If you are handling large datasets, processing data, or building reports, WPS Spreadsheet is a powerful, lightweight, and free alternative with full compatibility for Microsoft Excel.

Fully compatible with Microsoft Excel (.xlsx), Word (.docx), and PowerPoint (.pptx) formats.Lightweight installation and blazing fast performance for data management.Free to use with a familiar, easy-to-learn tabbed interface.Built-in PDF toolkit for editing, converting, and merging documents seamlessly.
QA img-9

Frequently Asked Questions

Why shouldn't I use a person's name as the primary key in an Access database?

Names are not guaranteed to be unique; two people can have the exact same name, and names can change over time. Using an AutoNumber primary key ensures every record has a stable, unique numeric identifier that prevents data conflicts.

Do I need to create a Save button on my Access form to save changes?

No. By default, Microsoft Access automatically saves any edits to a record as soon as you move to a different record, refresh the form, or close the form window.

How do I hide the ID column in my combo box so users only see names?

In the Property Sheet for your combo box, go to the Format tab. Change the 'Column Count' to the number of fields you are pulling (e.g., 2). Then, set the 'Column Widths' to '0";1"'. Setting the first column's width to zero hides the numeric ID while displaying the text.