我有我與代碼訪問創建搜索的關鍵字,然後創建結果的表搜索表單:解析訪問代碼
Like"*"&[FORMS]![Search_Form]![KW_Text]&"*"
這主要是告訴它來閱讀我輸入的關鍵字,拉出任何匹配的結果。 我希望能夠輸入多個單詞,在包含所有數據的表中,我有多個關鍵字,每個數據位都由逗號分隔。因此,如果我輸入Manager,它將返回所有帶有Manager字樣的結果,我希望能夠鍵入Manager,Supervisor,並讓它返回經理的所有結果以及主管的所有結果。
我有我與代碼訪問創建搜索的關鍵字,然後創建結果的表搜索表單:解析訪問代碼
Like"*"&[FORMS]![Search_Form]![KW_Text]&"*"
這主要是告訴它來閱讀我輸入的關鍵字,拉出任何匹配的結果。 我希望能夠輸入多個單詞,在包含所有數據的表中,我有多個關鍵字,每個數據位都由逗號分隔。因此,如果我輸入Manager,它將返回所有帶有Manager字樣的結果,我希望能夠鍵入Manager,Supervisor,並讓它返回經理的所有結果以及主管的所有結果。
可以使用SPLIT()
功能VBA到搜索字符串分割成一個數組,那麼For Each
通過陣列建立一個搜索/過濾字符串如
(thing LIKE "*Manager*") OR (thing LIKE "*Supervisor*")
我使用此代碼。它在由空間分隔的刺痛之間創建一個OR。我把這個處理字符串中querydefs
Function CreateOr(MyCriteria As String, MyField As String) As String
Dim MyChar As String
Dim MyUniqueCriteria As String
Dim MyFinalCriteria As String
Dim I, j As Integer
j = 0
For I = 1 To Len(MyCriteria)
MyChar = Mid(MyCriteria, I, 1)
If MyChar = " " Then
If j = 0 Then
MyFinalCriteria = MyFinalCriteria & MyField & "=" & MyUniqueCriteria
Else
MyFinalCriteria = MyFinalCriteria & " or " & MyField & "=" & MyUniqueCriteria
End If
MyUniqueCriteria = ""
j = j + 1
Else
MyUniqueCriteria = MyUniqueCriteria & MyChar
End If
Next
CreateOr = MyFinalCriteria
End Function
希望它能幫助你
解析對我來說是新的,解析發生在哪裏? – user2119980
你的代碼是在全部表格還是在單個字段中搜索 – FranckMetis
對不起,我不明白這個問題。這可能會更好。 – FranckMetis
那麼會是什麼模樣? – user2119980