If you are running your Microsoft Access database in a Front End /Back End setup across a network you will find that long combo boxes can take
too long to display and are too slow. And the more combo boxes you have on the forms the longer your forms will take to load and the slower your entire database, and network will be.
Below is a general concept to the solution. You'll probably need to extend the complexity it this concept if you are using standard lookup lists for your combo boxes, i.e. an ID field followed by a text field for the actual lookup value. So, this is a simplified example where you have a table called My_Words, and a Combo Box on the form
called Field1_Combo. The key is to not have a Row Source defined for the Combo Box. The row source will be defined as the user starts typing letters. Once they get to 3 letters then the row source of the combo box will be defined and the combo box will be told to dropdown.
Private Sub Field1_Combo_Change()
Dim strText As String
strText = Nz(Me.Field1_Combo.Text, "")
If Len(strText) > 2 Then
Me.Field1_Combo.RowSource = "Select keywords from " _
& "My_Words " _
& "where keywords like '" & strText & "*' " _
& "order by keywords"
The reason we are waiting until the 3rd character is typed is to limit the number of rows returned by the row source query. Depending on the data contained in your lookup table you may need more, less, or no characters to begin the process.
More Performance Improvement Methods for Microsoft Access
Speed Up Form Opening in Microsoft Access
This is usually referred to as a pseudo
index and can significantly improve the performance of slow
ODBC queries by adding an index on field references in
Access Form Examples Improve Form Performance and
Opening Speed Form performance is an important component of
creating a user friendly interface to your programs.
Table Design for Access
Generally lookup tables will be included in
the frontend of the database to improve database performance
in a frontend/backend combination