How to Replace an Access Text Box with a Drop-Down List
Question details
The user needs to change a free-text box on a Microsoft Access form into a combo box to restrict data entry to a predefined list of status values.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Modifying a data entry form in Microsoft Access to improve data consistency and enforce referential integrity.
- Observed behavior
- The form currently uses a standard text box for a Status field, which allows unrestricted data entry instead of limiting users to the five specific valid choices.
Ensure you have backed up your Access database before making structural changes to tables and forms. It is also highly recommended to close all active forms and queries before modifying table relationships.
Use a Reference Table and a Combo Box for Status Selection
Creating a separate table for statuses and replacing the text box with a combo box enforces referential integrity and standardizes data entry across the database.
By utilizing a dedicated table for your status options, you ensure that any future additions or changes to the status list will automatically update throughout your database forms.
Establishing referential integrity prevents users from accidentally deleting a status that is currently being used in existing records.
Go to the Create tab on the ribbon, click Table, and define a new table named 'Statuses'. Add a 'Status' text field, set it as the Primary Key, save the table, and then populate it with your five allowable status values.
Navigate to Database Tools > Relationships. Add both your main data table and the new 'Statuses' table to the workspace. Drag the 'Status' field from the 'Statuses' table to the corresponding field in your main table, and check 'Enforce Referential Integrity'.
Right-click your form in the Navigation Pane and select Design View. Delete the existing Status text box. From the Form Design ribbon, select the Combo Box control tool and click on the form to place the new drop-down list.
Select the new combo box and open the Property Sheet (F4). Under the Data tab, set the Control Source to your main table's Status field. Set the Row Source Type to 'Table/Query' and enter 'SELECT Status FROM Statuses ORDER BY Status;' as the Row Source. Ensure the Bound Column is set to 1.

Discover WPS Office for Your Daily Productivity Needs
While Microsoft Access handles complex database management, most of your daily document, spreadsheet, and presentation tasks can be effortlessly met with WPS Office. It provides a lightweight, fast, and highly compatible productivity suite that seamlessly works with Microsoft Office file formats.
- 1. Download the software: Visit the official WPS Office website and click the download button to get the free installer for your operating system.
- 2. Install WPS Office: Run the downloaded installation file and follow the simple on-screen prompts to set up the suite in just a few minutes.
- 3. Open your files: Launch WPS Office and directly open your existing .docx, .xlsx, or .pptx files to continue working seamlessly.

Frequently Asked Questions
Can I use a Value List instead of a separate table for my Access combo box?
Yes. If your list of statuses is small and will rarely change, you can open the combo box Property Sheet, set the Row Source Type to 'Value List', and type the values directly into the Row Source separated by semicolons (e.g., "Pending";"Approved";"Closed").
How do I prevent users from typing values that aren't in the drop-down list?
In the Property Sheet for your combo box, navigate to the Data tab and set the 'Limit To List' property to 'Yes'. This enforces a strict selection rule, prompting an error if a user types an unlisted value.
Why is my combo box showing ID numbers instead of the text descriptions?
This occurs when the Bound Column is set to an ID field, and the Column Widths property hides the text column. To fix this, change the Column Count to include both fields, and set the Column Widths (e.g., 0";1") to hide the numerical ID column while displaying the text.
How can I automatically expand the drop-down list when a user tabs into the field?
You can add a simple VBA macro to the 'On Got Focus' event of the combo box. Open the Event tab in the Property Sheet, select [Event Procedure] for On Got Focus, and enter `Me.ComboBoxName.Dropdown` in the VBA editor.




