First thing is to get out of your head the idea that the main form carries a sub-form and so on.
Sub-form is a misleading term, as your “sub-form” is not actually sub, below, the main-form; it actually resides in what is called a “sub form window”.
The first issue is that MS Access with its usual disregard for naming conventions, names this “sub form window” the same name as the form contained within it, obviously something which will lead you up the garden path! So forget about the term “sub-form” when you are thinking of how to access a “sub-form” on a main form.
Your main form has on it a “sub form window” in this subform window you have a form. To access a control on the form contained within the “sub form window”, you use code similar to similar to this:
SubformWindow.Form.Control
(Note Form here is a directive, it says: Work with the form in the sub form window, and now, this particular Control on the Form)
If you want to access something on the ”second level” sub-form, in your case “FormC”, then you first have access a control on “FormA” a sub-form window on form “FormA”, then the form in it “FormB”, then a control on “formB” again a sub form window which contains “FormC”.
To access a text box on your FormC called myTxtBox you would use code something akin to this:
Assumption:
You have a form “FormC” which is on “FormB” which is on “FormA”
Call the following code from a Command button on “FormA”
MsgBox “ >>> “ & FormB.Form.FormC.Form.myTxtBox