Don't know how, exactly, you're currently telling the secondary Form which Record to go to, but if you use the OpenArgs parameter of the OpenForm command to do this
Code:
DoCmd.OpenForm "SecondaryFormName", , , , , , Me.RecordID
you can then check, in the secondary Form, to see if OpenArgs is populated, or not. If it is populated, you go to the appropriate Record; if it isn't populated, you go to a New Record.
Notice that I use the Form_Load event, rather than the Form_Open event; this is always preferable when dealing with Record data, as the data is often not available in the Form_Open event.
Code:
Private Sub Form_Load()
Dim rst As DAO.Recordset
If Not IsNull(Me.OpenArgs) Then
Set rst = Me.RecordsetClone
rst.FindFirst "[RecordID] = '" & Me.OpenArgs & "'"
'rst.FindFirst "[RecordID] = " & Me.OpenArgs ' Use this for a Numeric ID
If Not rst.NoMatch Then
Me.Bookmark = rst.Bookmark
Else
DoCmd.GoToRecord , , acNewRec
End If
rst.Close
Set rst = Nothing
End If
End Sub
The rst.FindFirst "[RecordID] line in black is the correct syntax if the unique identifying Field is Text.
If the unique identifying Field (RecordID, in the example) is Numeric, you'd use the line in red, instead.
Linq ;0)>