Kevin
We solved a somewhat similar problem by doing the SQL in a form method and using an "Alias" type rowsource set to the resulting cursor rather than using a SQL rowsource.
If you do this you need to blank out the rowsource before setting the alias each time or you may get odd "can't access cursor" errors.
HTH
Regards
JR
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1