Private Sub cmdOK_Click()
On Error GoTo cmdOK_Click_err
Dim db As DAO.Database
Dim qdf As DAO.QueryDef
Dim strOffice As String
Dim strDepartment As String
Dim strGender As String
Dim strSQL As String
Set db = CurrentDb
If Not QueryExists("qryStaffListQuery") Then
Set qdf = db.CreateQueryDef("qryStaffListQuery")
Else
Set qdf = db.QueryDefs("qryStaffListQuery")
End If
If IsNull(Me.cboOffice.Value) Then
strOffice = " Like '*' "
Else
strOffice = "='" & Me.cboOffice.Value & "' "
End If
If IsNull(Me.cboDepartment.Value) Then
strDepartment = " Like '*' "
Else
strDepartment = "='" & Me.cboDepartment.Value & "' "
End If
If IsNull(Me.cboGender.Value) Then
strGender = " Like '*' "
Else
strGender = "='" & Me.cboGender.Value & "' "
End If
strSQL = "SELECT tblStaff.* " & _
"FROM tblStaff " & _
"WHERE tblStaff.Office" & strOffice & _
"AND tblStaff.Department" & strDepartment & _
"AND tblStaff.Gender" & strGender & _
"ORDER BY tblStaff.LastName,tblStaff.FirstName;"
qdf.SQL = strSQL
DoCmd.Echo False
If Application.SysCmd(acSysCmdGetObjectState, acQuery, "qryStaffListQuery") = acObjStateOpen Then
DoCmd.Close acQuery, "qryStaffListQuery"
End If
DoCmd.OpenQuery "qryStaffListQuery"
cmdOK_Click_exit:
DoCmd.Echo True
Set qdf = Nothing
Set db = Nothing
Exit Sub
cmdOK_Click_err:
MsgBox "An unexpected error has occurred." & _
vbCrLf & "Please note of the following details:" & _
vbCrLf & "Error Number: " & Err.Number & _
vbCrLf & "Description: " & Err.Description _
, vbCritical, "Error"
Resume cmdOK_Click_exit
End Sub