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