How to Search a Microsoft Access Combo Box and Display a Related Column
Question details
The user wants to configure a three-column Microsoft Access combo box to search by subject description while displaying a specific subject number, and showing the description in an unbound text box.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Building a data entry or search form where users locate records by searching a description field, but the form needs to bind to an underlying ID and display related codes dynamically.
- Observed behavior
- When binding the combo box directly to the description, only the description appears. The goal is to allow searching by description but have the combo box output the six-digit subject number, alongside a text box showing the description.
Ensure you have your underlying table or query ready with all required fields (e.g., ID, Subject Number, and Description) before configuring the combo box properties.
Configure Combo Box and Text Box Properties
Adjust the column widths and control sources to hide the ID, show the description for searching, and display the related value in a separate text box.
Microsoft Access uses zero-based indexing for columns, meaning Column(0) refers to the first column, Column(1) is the second, and so on. By setting specific column widths to zero, you can hide columns from the user while keeping their data accessible for form controls.
Open your form in Design View, select the combo box, and go to the Property Sheet. Set the Row Source to select your three columns (e.g., ID, Subject Code, Description) and add an ORDER BY clause for the Description field.
In the Format tab of the Property Sheet, set 'Column Count' to 3. Set 'Column Widths' to '0cm; 0cm; 8cm'. This hides the first two columns (ID and Subject Code) so only the Description is visible in the dropdown.
In the Data tab, set 'Bound Column' to 1. This ensures that the hidden ID field is the actual value stored by the combo box.
Ensure the 'AutoExpand' property is set to Yes so users can type into the combo box to search the visible description dynamically.
Create an unbound text box on your form. Set its Control Source to '=YourComboBoxName.Column(1)' to display the six-digit subject number, or '.Column(2)' to display the description.

Use VBA for Advanced Keyword Searching
If you need users to search for keywords anywhere within the descriptions rather than just matching from the beginning, an unbound combo box with VBA is required.
Try WPS Office for Your Spreadsheet and Document Needs
While Microsoft Access is a powerful database tool, many data tracking, entry, and dropdown validation tasks can be efficiently managed using spreadsheets. WPS Office provides a lightweight, highly compatible, and free alternative to Microsoft Office, complete with advanced spreadsheet data validation features.
- 1. Download WPS Office: Visit the official WPS Office website and download the free installer for your operating system.
- 2. Install the Application: Run the setup file and follow the on-screen prompts to install the lightweight suite on your device.
- 3. Create Dropdown Lists: Open WPS Spreadsheet, import your existing tabular data, and use the Data Validation feature to easily create searchable dropdown lists.

Frequently Asked Questions
Why is my text box showing an error instead of the combo box column value?
This usually happens if the Column Count property is set incorrectly. Ensure the Column Count in the combo box properties matches or exceeds the index you are trying to reference. For example, if you are using .Column(2), your Column Count must be at least 3.
How do I hide the ID column in an Access combo box?
You can hide any column by setting its width to 0cm in the Column Widths property. For example, entering '0cm; 5cm' hides the first column (usually the ID) and displays the second column.
Can I display multiple columns in the combo box after a selection is made?
No, once a selection is made, a Microsoft Access combo box will only display the first visible column (the first column with a width greater than zero). To display other related columns, you must use separate unbound text boxes referencing the .Column(x) property.




