使用单个搜索框搜索并显示查询中不同列的结果

问题描述 投票:0回答:1

我从一个完整的数据库开始,设置查询来提取我想要搜索和提取结果的列,我让系统通过生成行 ID 来创建“键”。

在表单中,我命名了搜索框,并在查询条件下方输入了代码。第一列有

Like "*" & [Forms]![CribMasterF]![SearchBox] & "*"
。其他列具有相同的代码,链接到“或”部分中的搜索框。问题是,它只在查询的第一列中搜索匹配项,如果结果在查询的其他列中,它就会失败并返回空结果。

Like "*" & [Forms]![CribMasterF]![SearchBox] & "*"

它只扫描并从查询中的第一列中提取结果,如果结果在另一列中,则不会返回任何内容

ms-access search
1个回答
0
投票

解决方案非常简单。只需连接您想要包含在搜索中的所有列,如下所示。唯一的缺点是您可能会发现搜索条件无意中跨越了两个字段。例如,如果 fld1='12A' 且 fld2='A34' 并且您搜索“AA”,则即使任何字段中都不存在“AA”,也会返回该记录。为了避免这种情况,您可以在每个字段之间添加您选择的字段分隔符,最好是一两个不太可能出现在数据中的字符。发挥创意;-)

SELECT fldOrder, fldDate
FROM Table1
WHERE [fld1] & [fld2] & [fld3] & [fld4] Like "*" & [Forms]![CribMasterF]![SearchBox] & "*";
© www.soinside.com 2019 - 2024. All rights reserved.