Is this an ADP you're using?
The only reasons I can think of this failing are:
" Direct non Jet data access (e.g. ADP - as Jet is perfectly happy with double quote as a text delimiter)
" Delimiter mark in the string (likely handled by Arthur's suggestion - then single quotes become the problem requiring Replace)
" tblAllocMain isn't a table but it itself has a problem in its source definition.
To my mind only the latter of these three could cause the error you're describing.
The concept you're employing is sound (as you're using the combo's Text property - hence its availability in the Change event).
I see you've declared
Dim RS As Object
though it isn't used. Was the original intent to employ one of the alternate recordset methods like that demo'd in the ComboFilter at this Example's Page.
However as you cite Acc2000 then a recordset won't help you directly (such binding came in 2002).
Could be a useful test though - make sure you get the same error when opening a recordset with your SQL. You really should.