Private Sub cmdApplyFilter_Click()
Dim strFirstName As String
Dim strLastName As String
Dim strFilter As String
' Check that the report is open
If SysCmd(acSysCmdGetObjectState, acReport, "rptStaff") <> acObjStateOpen
Then
MsgBox "You must open the report first."
Exit Sub
End If
' Build First Name criteria string
If IsNull(Me.txtFirstName.Value) Then
strFirstName = "Like '*'"
Else
SelectCase Me.fraFirstName.Value
Case 1
strFirstName = "Like '" & Me.txtFirstName.Value & "*'"
Case 2
strFirstName = "Like '*" & Me.txtFirstName.Value & "*'"
Case 3
strFirstName = "Like '*" & Me.txtFirstName.Value & "'"
Case 4
strFirstName = "= '" & Me.txtFirstName.Value & "'"
End Select
End If
' Build Last Name criteria string
If IsNull(Me.txtLastName.Value) Then
strLastName = "Like '*'"
Else
SelectCase Me.fraLastName.Value
Case 1
strLastName = "Like '" & Me.txtLastName.Value & "*'"
Case 2
strLastName = "Like '*" & Me.txtLastName.Value & "*'"
Case 3
strLastName = "Like '*" & Me.txtLastName.Value & "'"
Case 4
strLastName = "= '" & Me.txtLastName.Value & "'"
End Select
End If
' Build filter string
strFilter = "[FirstName] " & strFirstName & _
" AND [LastName] " & strLastName
' Apply filter to report
With Reports![rptStaff]
.Filter = strFilter
.FilterOn = True
End With
End Sub
Private Sub cmdRemoveFilter_Click()
' Switch the filter off
On Error Resume Next
Reports![rptStaff].FilterOn = False
End Sub