How to Use an Access Combo Box to Select an Active Record
Question details
The user needs to use a combo box in Microsoft Access to search and select an active record within a database managing a many-to-many relationship.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Building a maintenance database that utilizes a main asset form, a maintenance subform, and a junction table to assign tasks to assets.
- Observed behavior
- The goal is to link the forms properly and implement a search combo box to easily navigate asset records, while avoiding duplicate primary-key errors when assigning tasks.
Ensure your database tables (such as the Asset table and Maintenance task table) are fully structured and that your junction table has a defined composite primary key to prevent duplicate assignments.
Bind Forms and Use the Combo Box Wizard
Link your main form to the primary asset table and the subform to the junction table, then generate a search combo box using the built-in wizard.
To manage a many-to-many relationship efficiently, the main form must act as the primary record source while the subform handles the junction entries. Utilizing the Combo Box Wizard automates the VBA or macro generation needed to locate records on the active form.
Open your main form in Design View. Open the Property Sheet and set the 'Record Source' to your primary asset table (e.g., tblAsset).
Create a new continuous form bound to your junction table (e.g., tblAssetMaintenance). Drag and drop this form into your main form's Design View to embed it.
Select the embedded subform control. In the Property Sheet under the Data tab, set 'Link Master Fields' and 'Link Child Fields' to your shared identifier (e.g., Asset_ID).
Go to the Form Design ribbon and ensure 'Use Control Wizards' is activated. Click the Combo Box icon and click on the form header to place it. Choose the option 'Find a record on my form based on the value I selected in my combo box' and follow the prompts to complete the setup.

Manage Data Easily with WPS Office
While WPS Office does not feature a relational database tool like Microsoft Access, it offers WPS Spreadsheet—a powerful, lightweight alternative to Excel. If your database needs can be met through flat files or linked spreadsheets, WPS Spreadsheet provides robust data validation, drop-down lists (combo box equivalents), and advanced filtering at no cost.
- 1. Download and Install: Get WPS Office for free from the official website and install it on your PC or Mac.
- 2. Open Your Data: Launch WPS Spreadsheet and open your exported Excel or CSV database files.
- 3. Set Up Data Validation: Go to the Data tab and use the Validation tool to create searchable drop-down lists for your records.

Frequently Asked Questions
Why do I get duplicate primary-key errors in my Access junction table?
This error occurs when you attempt to assign the same maintenance task to the same asset multiple times, and the junction table has a strict primary key on just one of the fields. To resolve this, change the primary key in your junction table to be a composite key that highlights both Asset_ID and Task_ID together.
How do I link a main form and a subform properly in MS Access?
You link them using the Master and Child properties. Ensure the main form is bound to the primary table and the subform is bound to the related table. Select the subform container in the main form's Design View, open the Property Sheet, and map the shared primary/foreign key (like Asset_ID) in the 'Link Master Fields' and 'Link Child Fields'.
Can I manually code a combo box to select an active record?
Yes. If you choose not to use the Combo Box Wizard, you can write an AfterUpdate event in VBA using the RecordsetClone and FindFirst methods to locate the record corresponding to the combo box's bound value, and then sync the form's bookmark.




