you can use VBA code to modify the rowsource to apply criteria.
Plenty of more complete examples about but in principle for a combo called say cboCustomers with a rowsource of say:
Code:
SELECT ID, custName, custAddress FROM tblCustomers ORDER BY custName
in the combo enter event (required to 'reset' the list)
Code:
me.cboCustomers.rowsource="SELECT ID, custName, custAddress FROM tblCustomers ORDER BY custName"
in the change event this air code. You may need additional code for error checking, returning the cursor to the correct position etc
Code:
if cboCustomers.Text<>"" Then
me.cboCustomers.rowsource="SELECT ID, custName, custAddress FROM tblCustomers WHERE custName Like '*" & cboCustomers.Text & "*' OR custAddress Like '*" & cboCustomers.Text & "*' ORDER BY custName"
else
cboCustomers_enter()
end if
but I feel that executing a query every time a character is entered or deleted is a bad idea.
That is the only way to do it simply. You would need to try it and see whether it has a significant effect on performance. Note that using the initial * prevents the use of indexing so do not use unless you have to
Other things to do is to not run the code until at least say 3 characters have been entered, or use the form timer event to execute the code say 1/2 second after the use stops typing