I don't think the Where clause will work because you are changing the record source after the form is opened. (but I could be wrong
)
I have never seen this particular method to open a form.
I took a different path:
Code:
'button event code
Private Sub PO_SEARCH_Click()
On Error GoTo Err_PO_SEARCH_Click
Dim stDocName As String
Dim stLinkCriteria As String
If Len(Trim([PO_NO] & "")) > 0 Then
stLinkCriteria = "[PO_NO]=" & "'" & Me![PO_NO] & "'"
stDocName = "frm_PO_MASTER_CHKLST"
DoCmd.OpenForm stDocName, , , , , , Me.Name & "/" & stLinkCriteria
Else
MsgBox "Please enter a valid PO number!"
End If
Exit_PO_SEARCH_Click:
Exit Sub
Err_PO_SEARCH_Click:
MsgBox Err.Description
Resume Exit_PO_SEARCH_Click
End Sub
'Upon opening the form "frm_PO_MASTER_CHKLST", the following event occurs:
Private Sub Form_Open(Cancel As Integer)
' Dim stLinkCriteria As String
Dim ar 'zero based 1 dimensional array to split the openArgs
ar = Split(Me.OpenArgs, "/")
' MsgBox ar(0)
' MsgBox ar(1)
'Sets recordsource depending upon source form
Select Case ar(0)
Case "frm_K_PO_SEARCH"
Me.RecordSource = "qryK_PO_MASTER_HEADER"
Case "frm_A_PO_SEARCH"
Me.RecordSource = "qryA_PO_MASTER_HEADER"
End Select
'filter records to PO number
Me.Filter = ar(1)
Me.FilterOn = True
End Sub