2013-04-12 78 views
0

我有我與代碼訪問創建搜索的關鍵字,然後創建結果的表搜索表單:解析訪問代碼

Like"*"&[FORMS]![Search_Form]![KW_Text]&"*" 

這主要是告訴它來閱讀我輸入的關鍵字,拉出任何匹配的結果。 我希望能夠輸入多個單詞,在包含所有數據的表中,我有多個關鍵字,每個數據位都由逗號分隔。因此,如果我輸入Manager,它將返回所有帶有Manager字樣的結果,我希望能夠鍵入Manager,Supervisor,並讓它返回經理的所有結果以及主管的所有結果。

回答

0

可以使用SPLIT()功能VBA到搜索字符串分割成一個數組,那麼For Each通過陣列建立一個搜索/過濾字符串如

(thing LIKE "*Manager*") OR (thing LIKE "*Supervisor*") 
+0

那麼會是什麼模樣? – user2119980

0

我使用此代碼。它在由空間分隔的刺痛之間創建一個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 

希望它能幫助你

+0

解析對我來說是新的,解析發生在哪裏? – user2119980

+0

你的代碼是在全部表格還是在單個字段中搜索 – FranckMetis

+0

對不起,我不明白這個問題。這可能會更好。 – FranckMetis