Access语法错误中的Seach函数:在查询表达式

时间:2015-09-30 11:58:22

标签: vba ms-access

我在Windows Access上使用搜索功能时遇到问题,这使我可以搜索3件事。在这种情况下,它的名字,姓氏和CPR。现在,CPR意味着它是我的数据库中每个用户的一系列唯一编号。

它以宏开始,然后我将其更改为VBA代码,因为我希望它可以选择在3之后搜索。

当它在宏中时,它只能找到2个东西,因为宏中写入字符的限制是255,这就是我将它改为VBA代码的原因,字符限制应该是无限的。

啊,我差点忘了,代码是丹麦语,但我认为代码的基本功能几乎都是相同的,所以......

问题在于:

On Error GoTo SøgEfterFornavn_Err

    If (IsNull(Forms!Navigationsformular!NavigationUnderformular!SearchFor)) Then
        Beep
        Exit Function
    Else
        DoCmd.SetFilter "Søgnings forespørgelse", "[Fornavn] Like ""*"" & [Forms]![Navigationsformular]![NavigationUnderformular]![SearchFor] & ""*"" Or [CPR] Like ""*"" & [Forms]![Navigationsformular]![NavigationUnderformular]![SearchFor] & ""*"" Or [Efternavn] Like ""*"" & [Formularer]![Navigationsformular]![NavigationUnderformular]![SearchFor] & ""*"", """"
        Exit Function
    End If


SøgEfterFornavn_Exit:
    Exit Function

SøgEfterFornavn_Err:
    MsgBox Error$
    Resume SøgEfterFornavn_Exit

它一直说“语法错误:在查询表达式中缺少逗号” 哪个我不明白?我做错了什么或者?

1 个答案:

答案 0 :(得分:1)

你忘了写一些引号(“):

DoCmd.SetFilter "Søgnings forespørgelse", "[Fornavn] Like ""*""" & [Forms]![Navigationsformular]![NavigationUnderformular]![SearchFor] & """*"" Or [CPR] Like ""*""" & [Forms]![Navigationsformular]![NavigationUnderformular]![SearchFor] & """*"" Or [Efternavn] Like ""*""" & [Formularer]![Navigationsformular]![NavigationUnderformular]![SearchFor] & ""*""", """"

你可能忘记了它们,因为你需要将引号字符放两次才能将它放在字符串中(作为转义字符)。