Code:
Private Sub btnFind_Click()
Dim strSQL As String
Dim strField1 As String, strField2 As String, strFor1 As String, strFor2 As String
Dim strField As String, strStart As String, strEnd As String
With Me
.grpFilter = Null
.lbxQueries = Null
strFor1 = Nz(.cbxFor1, "")
strFor2 = Nz(.cbxFor2, "")
strField1 = CustomQuerySettings(Nz(.cbxField1, ""))
strField2 = CustomQuerySettings(Nz(.cbxField2, ""))
strField = CustomQuerySettings(Nz(.cbxCategory, ""))
If strField = "LabNum" Then
strStart = "'" & Nz(.tbxStart, "") & "'"
strEnd = "'" & Nz(.tbxEnd, "") & "'"
Else
strStart = "#" & Nz(.tbxStart, "") & "#"
strEnd = "#" & Nz(.tbxEnd, "") & "#"
End If
strSQL = IIf(IsNull(.cbxField1) Or (Not IsNull(.cbxField1) And IsNull(.cbxFor1)), "", strField1 & "='" & strFor1 & "'")
strSQL = strSQL & IIf(IsNull(.cbxField2) Or (Not IsNull(.cbxField2) And IsNull(.cbxFor2)), "", IIf(strSQL = "", "", " AND ") & strField2 & "='" & strFor2 & "'")
strSQL = strSQL & IIf(IsNull(.cbxCategory) Or (Not IsNull(.cbxCategory) And (IsNull(.tbxStart) Or IsNull(.tbxEnd))), "", IIf(strSQL = "", "", " AND ") & strField & " BETWEEN " & strStart & " AND " & strEnd)
strSQL = strSQL & IIf(IsNull(.cbxTest), "", IIf(strSQL = "", "", " AND ") & "TestNum='" & .cbxTest & "'")
If strSQL = "" Then
MsgBox "Must select criteria!", vbOKOnly, "EntryError"
ElseIf Not IsNull(.cbxTest) Then
.ctrSampleList.Form.RecordSource = "SELECT Submit.*, TestNum, StateNum, ProjectName, ProgCode, LedgerCode, Colo, FedNum, Metric, Remark1, Remark2, Remark3, Remark4, Remark5, Remark6 " & _
"FROM ((Submit LEFT JOIN Projects ON Submit.ProjRecID = Projects.ProjRecID) LEFT JOIN Remarks ON Submit.LabNum = Remarks.LabNum) " & _
"LEFT JOIN Tests ON Submit.LabNum = Tests.LabNum " & _
"ORDER BY Submit.LabNum DESC;"
End If
.ctrSampleList.Form.Filter = strSQL
.ctrSampleList.Form.FilterOn = True
.tbxLABNUM.SetFocus
End With
End Sub
Also, check this thread