Yes.I should have to mention it earlier. Sorry
Code:
Private Function BuildFilter() As Variant
Dim varWhere As Variant
Dim varType As Variant
Dim varItem As Variant
Dim intIndex As Integer
varWhere = Null
varType = Null
If Me.TxtNumber > "" Then
varWhere = varWhere & "[number] LIKE """ & Me.Txtnumber & "*"" AND "
End If
If Me.Txtsubject > "" Then
varWhere = varWhere & "[subject] LIKE """ & Me.Txtsubject & "*"" AND "
End If
If Me.Txtstartdate > "" Then
varWhere = varWhere & "[start_date] >= #" & Day(Me.Txtstartdate.Value) & "/" & Month(Me.Txtstartdate.Value) & "/" & Year(Me.Txtstartdate.Value) & "# And"
End If
If Me.Txtenddate> "" Then
varWhere = varWhere & "[end_date] <= #" & Day(Me.Txtenddate.Value) & "/" & Month(Me.Txtenddate.Value) & "/" & Year(Me.Txtenddate.Value) & "#"
Else
varWhere = Left(varWhere, Len(varWhere) - 4)
End If
If Me.Txtsender > "" Then
varWhere = varWhere & "[sender] LIKE """ & Me.Txtsender & "*"" AND "
End If
If Me.Txtlocation > "" Then
varWhere = varWhere & "[location] LIKE """ & Me.Txtlocation& "*"" AND "
End If
For Each varItem In Me.Lsttypes.ItemsSelected
varType = varType & "[types] = """ & _
Me.LstTypes.ItemData(varItem) & """ OR "
Next
If IsNull(varType) Then
Else
If Right(varType, 4) = " OR " Then
varType = Left(varType, Len(varType) - 4)
End If
varWhere = varWhere & "( " & varType & " )"
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