在MS-ACCESS中创建交互式多字段搜索栏

在MS-ACCESS中创建交互式多字段搜索栏,ms-access,filter,field,interactive,records,Ms Access,Filter,Field,Interactive,Records,我知道这可能是我错过的一件简单的事情,但我希望你们都能帮助我。我试图在我的表单中添加一个文本框,允许用户输入搜索条件,并让查询过滤记录,只显示符合条件的记录。诀窍是我希望用户能够输入信息,让它检查表单的所有字段,并返回任何有效的记录 我用我想要检查的字段设置了一个查询,并且观看了一些关于设置条件的教程,但是它们都使用多个搜索栏。有没有办法只用1个就可以做到 Like "*" Or [Forms]![Publications Page]![FilterBox] OR "*" 这是我写的标准表达式

我知道这可能是我错过的一件简单的事情,但我希望你们都能帮助我。我试图在我的表单中添加一个文本框,允许用户输入搜索条件,并让查询过滤记录,只显示符合条件的记录。诀窍是我希望用户能够输入信息,让它检查表单的所有字段,并返回任何有效的记录

我用我想要检查的字段设置了一个查询,并且观看了一些关于设置条件的教程,但是它们都使用多个搜索栏。有没有办法只用1个就可以做到

Like "*" Or [Forms]![Publications Page]![FilterBox] OR "*"
这是我写的标准表达式。它返回的记录不是我想要的记录,而且在我更改[FilterBox]中的内容后似乎不会更改。我有4个字段运行相同的条件。非常感谢所有的想法和建议


谢谢

结果标准应该是

[LastName] Like '*searchtext*' Or [FirstName] Like '*searchtext*' Or ...
所以,您必须设置一个这样的标准

Dim crit As String

crit = " Like '*" & Replace(Me!FilterBox, "'", "''") & "*' "
其中replace语句将单个(')回复2。这使用户可以在搜索框中输入撇号

现在您必须创建整个标准

crit = "[Field1]" & crit & "Or [Field2]" & crit & "Or [Field3]" & crit & "Or [Field4]" & crit

在每个
的位置放置
。将该条件表达式放在每个要应用的字段下。这看起来就像我试图创建的一样。谢谢!抱歉,还有一个新问题,但在这种情况下,我将把标准代码放在哪里?我可以在查询的“条件”选项卡中执行dim吗?哦,我在任何时候都不需要撇号,所以我希望这能简化一些。我假设这是表单中的VBA代码,您可以将此代码放在过滤器文本框的AfterUpdate事件子框中。在过滤器选项卡中,您必须输入
如“*”&[Forms]![出版物页]![过滤器盒]&“*”
在每个过滤器字段中。太棒了!它起作用了。只有一件事似乎是错的。如果我在filterbox中输入total gibberish,它将返回一条随机记录。有什么想法吗?我发现它可以用来查找存在的记录,但前提是我将该标准代码添加到AfterUpdate和_exitsubs中。如果我从一个或另一个中删除它,它会给我随机记录。我还注意到,如果我添加您为过滤器选项卡编写的代码,它会出现问题。我想这是因为我只在一个文本框中写搜索,而它试图在每个字段中找到答案。这就是为什么我认为它是或不是和。再次感谢你的帮助!