first of all, i'm guessing that you put in the "If Not Me.NewRecord" bit
because you get an error if there are no existing records in the subform,
correct? instead, try
On Error Resume Next
DoCmd.RunCommand acCmdRecordsGoToLast
that should be fine when the subform loads. but if the subform is linked to
the mainform, the code will not run when you move from one *mainform* record
to another, so the subform will just go to the first record of its'
recordset.
to accomplish that, you'll need to put code in the *mainform's* Current
event. i've found it a bit harder to get navigation code in a mainform to
work on the recordset in a subform, but you could try
On Error Resume Next
Me!SubformControlName.SetFocus
With Me!SubformControlName
DoCmd.RunCommand acCmdRecordsGoToLast
End With
Me!SomeControlInTheMainForm.SetFocus
hth