I am using a subform as a type of listbox (to allow filter, sort, etc..) in which you can select the record to display on the main form. This works well by using the following code in the Form_Current event of the subform:

Code:
Private Sub Form_Current()
    Dim rec As Recordset
    
    Set rec = Me.Parent.Form.RecordsetClone
    rec.FindFirst "DocumentID = " & Me.DocumentID
    Me.Parent.Form.Bookmark = rec.Bookmark
    rec.Close
End Sub
What i want to do now is allow other forms to open this main form and pass a DocumentID in the open args to cause that document to be initially displayed. The code I am using in the Form_Load event of the main form is:

Code:
Private Sub Form_Load()
    Dim rec As Recordset
    
    DoCmd.Maximize
    
    If Not IsNull(Me.OpenArgs) Then
        Set rec = Me.sfmSelectDoc.Form.RecordsetClone
        rec.FindFirst "DocumentID = " & Me.OpenArgs
        Me.sfmSelectDoc.Form.Bookmark = rec.Bookmark
        rec.Close
        
        Set rec = Me.RecordsetClone
        rec.FindFirst "DocumentID = " & Me.OpenArgs
        Me.Bookmark = rec.Bookmark
        rec.Close
    End If
End Sub
The problem is that when the form is displayed it still shows the first record. However, when you click on any field on the main subform both the main and subform suddenly updates to show the correct record. I have tried using both Me.Repaint and Me.Requery but to no effect.

I hope someone can help! Regards,
Stephen.