tgstephens
New member
- Local time
- Yesterday, 20:15
- Joined
- Sep 15, 2010
- Messages
- 3
I'm designing a text box and button on a form that I would like to have run a "global" filter to only show rows where the text I entered in the text box appears anywhere in the table that "feeds" the form (hope that makes sense). The below code will return results for the first two fields (RIC and P_RIC) but nothing after that. Can someone PLEASE point me in the right direction?
Thanks,
Tommy
Thanks,
Tommy
Code:
Public Sub Global_Search_Click()
DoCmd.OpenForm "Wait", acNormal, , , , , acWindowNormal
Dim strWhere As String
Dim lngLen As Long
Const conJetDate = "\#mm\/dd\/yyyy\#"
DoCmd.Hourglass (-1)
Screen.MousePointer = 11
DoCmd.SetWarnings False
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([RIC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([P_RIC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([ALT_RIC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([RIN] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([ALT_RIN] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([RIC_NOMENC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([PRID] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([HSC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([EFD] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([EIC] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([ESD] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([LOCATION] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([SERIAL_NUM] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
lngLen = Len(strWhere) - 5
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
Else
If Not IsNull(Me.txtFilterGlobal) Then
strWhere = strWhere & "([WCR_EQUIP] Like ""*" & Me.txtFilterGlobal & "*"") AND "
Screen.MousePointer = 0
If lngLen <= 0 Then Me.Filter = Null
If lngLen > 1 Then strWhere = Left$(strWhere, lngLen)
If lngLen > 1 Then Me.Filter = strWhere
If lngLen > 1 Then Me.FilterOn = True
If lngLen <= 0 Then Me.FilterOn = False
DoCmd.Close acForm, "Wait"
If lngLen > 1 Then Exit Sub
End If
DoCmd.SetWarnings True
If Me.Recordset.RecordCount = 0 Then MsgBox "No results for this search"
DoCmd.Close acForm, "Wait"
DoCmd.Hourglass (-0)
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Last edited by a moderator: