you can use a subform rather than a combobox, as you type, the subform reduces the number of options. For this to be effective, the fields you are searching on need to be indexed. So for example you type A, the list in the subform will reduce to any item which as A in any column, then type B, again the list is reduced to any row where there is AB in any column, etc
on your form have an unbound text control (we'll call it quickFind)
on your form have a subform in datasheet view with a recordsource which covers all your parts and shows the various categories and part names - we'll call it sfData
back to quickFind - in the OnChange event put code with builds a filter for the subform and applies it - something like
Code:
dim tmpstr as string
dim fltrstr as string
dim ctrl as control
tmpstr = quickFind.Text
For Each ctrl In sfData.Form
if ctrl.controltype=acTextbox then
fltrStr = fltrStr & "([" & ctrl.ControlSource & "] like '*" & tmpstr & "*') OR "
End If
Next ctrl
fltrStr = Left(fltrStr, Len(fltrStr) - 4)
sfData.Form.Filter = fltrStr
sfData.Form.FilterOn = True
then in your subform oncurrent event, you need a bit of code which selects the record you have clicked on