How to Create a Multiselect List Box in Microsoft Access
Question details
The user wants to create a list box in Microsoft Access that allows multiple selections to manage and store relational data.

- Product
- Microsoft Access
- Device & OS
- not provided
- Scenario
- Designing data entry forms where users need to select multiple items from a predefined list and save them to a database.
- Observed behavior
- Standard list boxes only support single selections. Multiple selections require modifying the Multi Select property and utilizing VBA to process the selected values, or using alternative relational design approaches.
Before starting, ensure your Access database tables and relationships are properly structured. If you plan to read and store the selected values programmatically, familiarize yourself with basic VBA.
Enable the Multi Select Property and Process with VBA
Change the list box properties to allow multiple selections and use VBA code to iterate through and store the selected items.
While standard list boxes only permit a single selection, Access allows you to enable multiple selections. However, unlike single-select boxes that automatically bind to a table field, multiselect list boxes require Visual Basic for Applications (VBA) code to read and save the chosen data into your tables.
Open your Microsoft Access form in Design View and add a List Box control from the Form Design ribbon.
Select the newly added List Box, press F4 to open the Property Sheet, and navigate to the 'Other' tab. Find the 'Multi Select' property and change it from 'None' to either 'Simple' or 'Extended'.
Add a command button to your form. This button will be used by the user to confirm their selections and trigger the data processing.
In the button's On Click event, write a VBA loop using the 'ItemsSelected' collection to iterate through the list box and execute a SQL INSERT statement to store the selected values in your related table.

Use a Main Form with a Subform (No-Code Alternative)
Use a subform embedded within a main form as a no-code alternative to multiselect list boxes for managing one-to-many relationships.
Manage Your Exported Database Records with WPS Office
While Microsoft Access is a dedicated database tool, extracting, sharing, and analyzing that data is often best done in spreadsheets. WPS Office is a free, lightweight, and highly compatible alternative to Microsoft Office. It seamlessly opens exported Access data in WPS Spreadsheet, offering an intuitive UI and powerful data analysis tools without costly subscriptions.
- 1. Download and Install: Download WPS Office for free from the official website and follow the simple installation instructions.
- 2. Export Access Data: In Microsoft Access, right-click your query or table and export the data to an Excel or CSV file.
- 3. Open with WPS Spreadsheet: Launch WPS Spreadsheet and open your exported file to instantly sort, filter, and analyze your relational database records.

Frequently Asked Questions
Can I store multiselect list box values directly in a table without VBA?
No, a multiselect list box cannot be directly bound to a standard table field to store multiple choices automatically. You must use VBA to loop through the selected items and append the records to a related table, or use a subform instead.
Why shouldn't I just use a multivalued field in Access?
While Microsoft Access offers multivalued fields as a quick way to store multiple items, they are generally not recommended by professional database developers. They complicate queries, make migrating to external platforms like SQL Server difficult, and violate standard relational database normalization rules.
How do I clear all selections in a multiselect list box?
To clear all selections, you will need to create a command button and add a short VBA script that loops through the list box items, setting the Selected property of each item to False.




