Two things I can think off the hand:
1) Put your combobox on another form, and make that read-only form a subform.
2) I believe that if you make your recordsource read-only, you still should be able to use unbound combobox for searching. To make your recordsource read only, go to form's properties, select Recordsource under Data tab, then click the tiny button on right to open the Query Builder. Click on a empty gray area where you put the tables, then go to queries' properties. There should be something like "Recordset Type" which the default is "Dynaset". Change it to "Snapshot" will make it readonly. You will not need that VBA code anymore.