我在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
它一直说“语法错误:在查询表达式中缺少逗号” 哪个我不明白?我做错了什么或者?
答案 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] & ""*""", """"
你可能忘记了它们,因为你需要将引号字符放两次才能将它放在字符串中(作为转义字符)。