Trying to do things in a Subform, using code in the Subform's OnOpen and OnLoad events can be problematical because these fire before the Main Form loads, so the Subform doesn't actually know how many Records it contains.
Here's some code I have archived for doing this; simply replace SubFormControlName with the actual name of your Subform Control:
In the Main Form
Code:
Private Sub Form_Current()
SubFormControlName.SetFocus
End Sub
Code:
Private Sub SubFormControlName _Enter()
DoCmd.GoToRecord , , acLast
End Sub
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007