[FONT=Arial][COLOR=#000000]Private Sub cmdOK_Click()[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Pointer to error handler[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] On Error GoTo cmdOK_Click_err[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Declare variables[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] Dim db As DAO.Database[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Dim qdf As DAO.QueryDef[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Dim strSource As String[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Dim strDepartment As String[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Dim strCompany As String[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Dim strSQL As String[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Identify the database and assign it to the variable[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] Set db = CurrentDb[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Check for the existence of the query, create it if not found,[/FONT][/COLOR]
[COLOR=#00b050][FONT=Arial]' and assign it to the variable[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] If Not QueryExists("qryJobQuery") Then[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Set qdf = db.CreateQueryDef("qryJobQuery")[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Else[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Set qdf = db.QueryDefs("qryJobQuery")[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] End If[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Get the values from the combo boxes[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] If IsNull(Me.cboSource.Value) Then[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strSource = " Like '*' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Else[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strSource = "='" & Me.cboSource.Value & "' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] End If[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] If IsNull(Me.cboRegion.Value) Then[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strRegion = " Like '*' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Else[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strRegion = "='" & Me.cboRegion.Value & "' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] End If[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] If IsNull(Me.cboCompany.Value) Then[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strCompany = " Like '*' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Else[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] strCompany = "='" & Me.cboCompany.Value & "' "[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] End If[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Build the SQL string[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] strSQL = "SELECT TblApplication.Date, Source.Source, Region.Region, TblApplication.Ref, TblApplication.Position, Company.Company, TblApplication.Direct, Status.Status, TblApplication.Comments " & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] "FROM Status RIGHT JOIN (Source RIGHT JOIN (Region RIGHT JOIN (Company RIGHT JOIN TblApplication ON Company.ID = TblApplication.CompanyID) ON Region.ID = TblApplication.RegionID) ON Source.ID = TblApplication.SourceID) ON Status.ID = TblApplication.StatusID " & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] "WHERE Source.Source" & strSource & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] "AND Region.Region" & strRegion & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] "AND Company.Company" & strCompany & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] "ORDER BY TblApplication.Date,TblApplication.SourceID;"[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Pass the SQL string to the query[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] qdf.SQL = strSQL[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Turn off screen updating[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] DoCmd.Echo False[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Check the state of the query and close it if it is open[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] If Application.SysCmd(acSysCmdGetObjectState, acQuery, "qryJobQuery") = acObjStateOpen Then[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] DoCmd.Close acQuery, "qryJobQuery"[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] End If[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Open the query[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] DoCmd.OpenQuery "qryJobQuery"[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000]cmdOK_Click_exit:[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Turn on screen updating[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] DoCmd.Echo True[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Clear the object variables[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] Set qdf = Nothing[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Set db = Nothing[/COLOR][/FONT]
[COLOR=#000000][FONT=Arial]Exit Sub[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000]cmdOK_Click_err:[/COLOR][/FONT]
[COLOR=#00b050][FONT=Arial]' Handle errors[/FONT][/COLOR]
[FONT=Arial][COLOR=#000000] MsgBox "An unexpected error has occurred." & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] vbCrLf & "Please note of the following details:" & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] vbCrLf & "Error Number: " & Err.Number & _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] vbCrLf & "Description: " & Err.Description _[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] , vbCritical, "Error"[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000] Resume cmdOK_Click_exit[/COLOR][/FONT]
[FONT=Arial][COLOR=#000000]End Sub[/COLOR][/FONT]