yo siempre consulto de esta manera y nunca he tenido problemas, espero que te sirva:
f1 = MaskEdBox1.Text
f2 = MaskEdBox2.Text
dim xx as database,x as recordset
set xx=opendatabase(<ruta de la base>,false)
Set x = xx.OpenRecordset ("select * from <tabla> where fecha _ between datevalue(""" + f1 + """) and datevalue(""" + f2 + """) order _
by <Campos de orden>",dbopendynaset)