| First Published 18 July 2026 | Last Updated 24 Sept 2026 |
|---|
It has always been possible to create cascading combo boxes and list boxes using VBA code. For example, see my article from 2019: Cascading Combo Boxes
This was a relatively simple task for single forms but somewhat more complicated for continuous forms.
Starting with version 2608, it is now possible to create cascading combo boxes and list boxes with no code required.
UPDATE 2026-08-04: The feature is now available in both Beta Channel and Current Channel Preview. It will roll out to all channels in the coming months.
UPDATE 2026-09-24: The feature is now rolling out to users in the Current Channel with version 2609 20430.20092 released 2026-09-22.
Both objects now have two new properties, LinkMasterFields/LinkChildFields, simplifying the process of linking these controls to provide progressive filtering without requiring code.
These properties are identically named and work in a similar way to the properties used when linking main forms and subforms.
Video
I demonstrated this feature as part of my presentation on New Access Features and UI Tips/Tricks to the Access Europe User Group on 1 July 2026.
This section lasted just over 6 minutes from 0:24:18 to 0:30:41. Click this link to watch the relevant section on YouTube.
Alternatively click below to view as an embedded video on this page:
Using the LinkMasterFields / LinkChildFields properties
The new properties allow cascading combos and list boxes to be created using bound or unbound controls and works with all form types: single, continuous, datasheet and split.
For example, we can create a bound form where users select a country from a combo, then select a city from the selected country and finally a street for the chosen city.
In this example, there are 10 countries, each with 10 cities and 5 streets for each city. A total of 100 cities and 500 streets in all.
The selections made are stored in a table, tblData.
Country
In the top level combobox, cboCountry, both the LinkMasterFields and LinkChildFields properties are left blank as it does not depend on another 'higher level' control.
City
In the second combobox, cboCity, the LinkMasterFields and LinkChildFields properties can be populated from the Data tab on the property sheet:
Here the City field in the cboCity combo is being filtered by the CountryID already selected in the cboCountry combo.
|
|
Alternatively, as the CountryID field is the bound column in the cboCountry combo, we can reference the combo itself under LinkMasterFields
|
|
Street
In the third combo, cboCity, the Street field is being filtered by the CityID already selected in the cboCity combo.
|
|
Alternatively, as the CityID field is the bound column in the cboCity combo, we can reference the combo itself under LinkMasterFields
|
|
More example forms
No code is required anywhere in this example app which also includes examples for cascading combos in a continuous form:
Similarly for a datasheet form:
Also for a split form where the selections can be made in either the single or datasheet components of the form:
Using the same data, the app also includes an example using cascading list boxes in a single form:
Finally, it includes an example with cascading list boxes in a continuous form:
NOTE:
There was originally a bug where the listbox selections no longer appeared when the scrollbar was used. The bug was fixed in the Beta Channel with version 2608 20321.20000 on 2026-07-24.
Use Code to set Properties
Although the feature has been designed so that no code is needed, it is also possible to set the LinkMasterFields/LinkChildFields properties using code.
To do so, you must use the Properties collection:
'Can also set values using code - must use Properties collection'Me.cboCity.LinkMasterFields = "CountryID" 'Compile error'Me.cboCity.Properties("LinkMasterFields") = "CountryID" 'OK'Me.cboCity.Properties("LinkMasterFields") = "cboCountry" 'OKPrivate SubcboCountry_AfterUpdate()Me.cboCity.Properties("LinkMasterFields") = "cboCountry"Me.cboCity.Properties("LinkChildFields") = "CountryID"End SubPrivate SubcboCity_AfterUpdate()Me.cboStreet.Properties("LinkMasterFields") = "CityID"Me.cboStreet.Properties("LinkChildFields") = "CityID"End Sub
Using Unbound Controls
The new feature can also be used with unbound controls though the LinkMasterFields property MUST be for the preceding combobox or listbox.
The example app in my previous article progressively filtered 5 unbound cascading combos to obtain a UK postcode.
As there are around 2.6 million UK postcodes, it would be impossible to do this with a single combo. Instead the data is filtered in turn to select an area, then a district, followed by a sector and then zone before choosing the desired postcode.
In this example, code was used to manage other functionality on this form. However the amount of code required was less than half what it used to be before the new feature became available.
Using Multiple Filters
Multi-field links are also supported.
To do this, field / control names are separated with semicolons ( cboCountry;cboRegion / CountryID;RegionID ) in the property sheet to filter on several parameters at once using an AND filter.
For example, the first three list boxes on this form are used as filters for the final listbox. All three list boxes must be selected for this to work. Null values are not supported.
NOTE:
The form above is taken from one of my commercial apps for schools, School Data Analyser, and isn't available for download from this article.
Download
Click to download two of the example apps used in this article:
Cascade Example_v3 ACCDB - Approx 0.9 MB (zipped)
Postcode Builder Example_v3.61 ACCDB - Approx 4.8 MB (zipped)
As is the case for all files downloaded from the internet, first unblock the downloaded file, unzip it, then save to a trusted location.
For more details, see my article:
Unblock downloaded files by removing the Mark of the Web
Further Reading
From 22 Sept 2026, this feature started rolling out to Current Channel users with version 2609 20430.20092. Two new articles have just been published:
• Access Blog article by Shane Groff: Create cascading combo boxes and list boxes in Access - without VBA
• Access Forever article by Karl Donaubauer: Expanded Form/Report Sizes + Cascading Combo/List Boxes
NOTE: The rollout to Current Channel may take several days / weeks to complete.
Feedback
Please use the email button in the contact form below to let me know whether you found this article useful or if you have any questions.
Please also consider making a donation towards the costs of maintaining this website. Thank you
Colin Riddington
Mendip Data Systems
Last Updated 24 Sept 2026
|
Return to Access Blog Page
|
Return to Top
|