I don't completely understand your use of terminology - a query object frame?
Opening "a new form" is exactly what you want, but apparently, you need to effect this in the Close Event of the dialog form. So you can either pass an OpenArg or a filter to the Docmd.OpenForm event for the new form. I seem to have more luck with the arg method. You could simply pass the CustomerID in the arg and apply it as a filter in the open event of the new form.
And on a side note, based on design or praticality, is it better to use object frame or other kind of subform when inserted into another form?
Used for what? Bound/Unbound frame controls are not meant for sub forms or sub reports. Use a sub form or sub report control for that.
You might want to review this if you're needing a search form
http://allenbrowne.com/ser-62.html
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.