Simon:
In my experience, you first must go to the subform control, then to the
field within that control.
Try this, instead:
DoCmd.GoToControl "SubFormName"
DoCmd.GoToControl "FieldName"
The GoToControl action has an inherent reference to the current active
form, which is why you cannot reference outside of the active form's
control collection. For more details, search the VB help file for
GoToControl Action. From the Access 97 VB help file:
"Tip: You can use the GoToControl action to move to a subform, which is
a type of control. <snip> You can also move to a control on a subform
by using the GoToControl action to move first to the subform and then
to the control on the subform."
If you are not starting your jump from the MasterForm (i.e., your
active form is a form other than the MasterForm), you'll need to first
set the focus to the subform control on the MasterForm, and THEN go to
the desired control, like this:
Forms!MasterFormName!SubformName.SetFocus
DoCmd.GoToControl "FieldName"
HTH,
Jana