Code:
Private Sub cmdSearch_Click() On erorr GoTo errr Me.FG_subform.Form.RecordSource = "SELECT * FROM FG " & BuildFilter Me.FG_subform.Requery Exit Sub errr: MsgBox Err.Description End Sub Private Function BuildFilter() As Variant Dim varWhere As Variant Dim tmp As String tmp = "" Const conJetDate = "\#dd\/mm\/yyyy\#" varWhere = Null If Me!SerialNumber > "" Then varWhere = varWhere & "[Serial Number] = " & Me!SerialNumber & " AND " End If If Me!MacID > "" Then varWhere = varWhere & "[Mac ID] = " & Me!MacID & " AND " End If If Me!InwardDatefrom > "" Then varWhere = varWhere & "([Inward Date] >= " & Format(Me!InwardDatefrom, conJetDate) & ") AND " End If If Me!InwardDateto > "" Then varWhere = varWhere & "([Inward Date] <= " & Format(Me!InwardDateto, conJetDate) & ") AND " End If If Me!InwardSiteCode > "" Then varWhere = varWhere & "[Inward Site Code] = " & Me!InwardSiteCode & " AND " End If If Me!InwardSiteName > "" Then varWhere = varWhere & "[Inward Site Name] = " & tmp & Me!InwardSiteName & tmp & " AND " End If If Me!InwardZone > "" Then varWhere = varWhere & "[Inward Zone] = " & tmp & Me!InwardZone & tmp & " AND " End If If Me!NameofEngineer > "" Then varWhere = varWhere & "[Name of Engineer] = " & tmp & Me!NameofEngineer & tmp & " AND " End If If Me!DrishtiTicket > "" Then varWhere = varWhere & "[Drishti Ticket (If Applicable)] = " & Me!DrishtiTicket & " AND " End If If Me!IMACDID > "" Then varWhere = varWhere & "[IMACD ID (If Applicable)] = " & Me!IMACDID & " AND " End If If Me!AssetTagNo > "" Then varWhere = varWhere & "[Asset Tag Number] = " & Me!AssetTagNo & " AND " End If If Me!ArticleNo > "" Then varWhere = varWhere & "[Article No] = " & Me!ArticleNo & " AND " End If If Me!Category2 > "" Then varWhere = varWhere & "[Category2 (Asset Description)] = " & Me!Category2 & " AND " End If If Me!Category3 > "" Then varWhere = varWhere & "[Category3 (Make)] = " & Me!Category3 & " AND " End If If Me!OutwardSiteCode > "" Then varWhere = varWhere & "[Outward Site Code] = " & Me!OutwardSiteCode & " AND " End If If Me!OutwardSiteName > "" Then varWhere = varWhere & "[Outward Site Name] = " & Me!OutwardSiteName & " AND " End If If Me!OutwardZone > "" Then varWhere = varWhere & "[Outward Zone] = " & Me!OutwardZone & " AND " End If If Me!OutwardDatefrom > "" Then varWhere = varWhere & "([Outward Date] >= " & Format(Me!OutwardDatefrom, conJetDate) & ") AND " End If If Me!OutwardDateto > "" Then varWhere = varWhere & "([Outward Date] <= " & Format(Me!OutwardDateto, conJetDate) & ") AND " End If If IsNull(varWhere) Then varWhere = "" Else varWhere = "WHERE " & varWhere If Right(varWhere, 5) = " AND " Then varWhere = Left(varWhere, Len(varWhere) - 5) End If End If BuildFilter = varWhere End Function
Comment