I always use a Query as a Recordsource for a Form or report. Well almost always. Sometimes I use SQL Statements in Code.
But then I always test as I go when developing. eg I decompile wheras you feel as though this is not necessary.
You allowed a couple of things to slip through your naming conventions. What else are you going to allow to just slip through.
I am still tring to understand why you want information about a Form that is not opened. How can this help without opening the form. Why do you not wait until the Form is open then use the on current event.