I don't like using Me.parent just me lol
I just thought I should mention seeing as you are interested in forms and sub-forms, you might be interested in my CallCalled Class Module. There's a limited amount of information about it here:-
http://www.niftyaccess.com/callcalled-class-module/
When I first discovered how some of the pop-up calendars worked, basically you linked the control you wanted the date to be placed in to the Pop-Up form containing the calendar. This link is called an object reference. This means that the two linked objects behave as one, so if you make changes in one object, the changes appear in the other object.
Linking the objects in this way meant that the calendar form could be called from any textbox, combobox (whatever object you wanted to link the calendar to) and the date would be passed back into the link object. In other words it would work on subform after subform with no problem. However it lacked one feature that I particularly wanted.
Let's say you entered somebody's birthdate and you wanted another textbox to display their age. You could pop up the calendar form, it would pass their birthday back in to the text box, but then you would need to operate some other event to cause the age to be calculated.
In other words the linking of the objects was OK for passing information between the two objects but there was no way to trigger the after update event of the object that the Calendar Form was called from. Hence, the calculation of the age was not possible without some other action.
I wrote some code in the Calling form which I called a "Passback" routine the passback routine would be triggered by the Called Form (the calendar form) and update the age textbox. This worked fine until your control happened to be on a subform.
The funny things about subforms is the form doesn't actually exist programatically, it exists as a form in a subform/subreport control. In other words it's very difficult to gain access to it, especially if it's several subforms deep.
That's what my class module does, it allows you to access a deeply buried subform and Trigger code within it. By this method it is possible to simulate the after update event.
Your comment about selecting parent, reminding me because the code iterates up through the parents until it finds the main form, the top form, the form that isn't a subform.