(Sorry, it is going to be hard to understand what I write.)
If I understand correctly, the "preferred" set-up according to the data structure is nested Subforms, i.e. one Subform is actually a Subform of the other Subform but you prefer to use 2 Subforms on the same level, both as Subforms of the main Form?
Thus, when the CurrentRecord changes on, says, Subform1, you actually want to requery the Subform2 to show only data related to the CurrentRecord on Subform1?
If yes, the (intermediate) hidden TextBox is one oft-recommended solution ... Perhaps, you should tell us why you are not happy with this solution???
Alternatively, you can use the reference something like:
CODE
[SubformCONTROLThatHousesSubform1].Form.[IDField]
as the LinkMasterFields for the [SubformCONTROLThatHousesSubform2].
Hopefully, you note that I clearly distinguish between [SubformCONTROL] and "Subform" since the common use of "Subform" actually comprises of 2 Access objects: a SubformControl (an empty "rectangle" whose most important Properties are LinkMasterFields and LinkChildFields) and a SourceObject (a Form that sits inside the above rectangle!). The consequence of this is that the SubformControl name may be the same or
different from the name of the SourceObject, i.e. the name of the "Subform" as used by most people.
The word "Form" above (which means the SourceObject inside the SubformControl) is literal but you have to replace the others with appropriate names from your set-up.
The 3rd way, obviously, is to use VBA to re-assign the RecordSource for Subform2 or to requery the Subform2 where the RecordSource is a Parametrised Query.