Ms access 解析访问代码

Ms access 解析访问代码,ms-access,Ms Access,我在access中创建了一个搜索表单,其中包含搜索关键字的代码,然后创建一个包含结果的表: Like"*"&[FORMS]![Search_Form]![KW_Text]&"*" 这基本上告诉它读取我输入的关键字,并调出任何匹配的结果。 我希望能够在包含所有数据的表格中键入多个单词,我有多个关键字,每个数据位都由comas分隔。因此,如果我输入Manager,它将返回所有结果,其中包含单词Manager,我希望能够输入Manager、Supervisor,并让它返回Manage

我在access中创建了一个搜索表单,其中包含搜索关键字的代码,然后创建一个包含结果的表:

Like"*"&[FORMS]![Search_Form]![KW_Text]&"*"
这基本上告诉它读取我输入的关键字,并调出任何匹配的结果。
我希望能够在包含所有数据的表格中键入多个单词,我有多个关键字,每个数据位都由comas分隔。因此,如果我输入Manager,它将返回所有结果,其中包含单词Manager,我希望能够输入Manager、Supervisor,并让它返回Manager的所有结果和Supervisor的所有结果。

您可以使用VBA中的
SPLIT()
函数将搜索字符串拆分为一个数组,然后通过数组为每个建立一个搜索/筛选字符串,如

(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

希望它能帮助您

那么它会是什么样子呢?解析对我来说是新的,解析到底发生在哪里?很抱歉,我不理解这个问题。这可能更好。