I do this a lot and would propose a different strategy:
You want a child form that's a popup form rather than an embedded subform, correct?
1. Base your child form on a query that brings all the fields from the child table, including the parent fkey.
Add the foreign key from the parent table into the query as well (if a join line doesn't automatically appear then you need to set referential integrity).
2. Put a criterion below the parenttable.foreignkey column thus: forms!parentform!parentkeyfieldname
3. Place a text box on the form that is bound to the child table foreign parent key field. Make the default value for this control the same forms!frmparent!fkey reference. Now set the Visible property to FALSE (actually do this after testing). It will hold the value but not be subject to user change.
4. Make sure that the child form has it's modal property set to true. Why? So that someone can't open it, leave it open, then go back to the parent form and change records.
The global variable approach will work too. Typically programmers shy away from global variables. If the code gets changed, or if the existence and need for the variable are forgotten this form could break easily. The approach here is self-contained.
I'll be glad to clarify this if it doesn't make sense (That is if this is what you're trying to do.)