【发布时间】:2016-02-05 00:49:36
【问题描述】:
我已经在互联网上搜索了解决此问题的方法,但我无能为力。我正在使用查询从调查(表)中返回响应。我需要能够使用多个过滤器过滤查询结果。换句话说,1.) 用户将选择他想要过滤的关键字,2.) 关键字将附加到表中,.3) 查询使用表中的字段作为条件,并且只返回匹配表中所有关键字的结果。
通过使用 Dlookup([fieldName],[tableName],Not "") 作为我的查询条件,我取得了一定的成功,但这仅通过匹配表中的第一项来过滤查询,而我需要查询通过匹配表中的所有项目进行过滤。
提前感谢您的帮助!
附:这是我关于 SO 的第一个问题!
编辑:
这是我存储活动过滤器的表 (FilterStack_Table)。我所指的“关键字”在“答案”字段中。
这是我的查询,它返回受访者 ID 以及他们在调查中回答的内容。 Answers 列下的条件是 DLookUp("Answers","FilterStack_Table")
查询应该返回的只是 RespondentID 5,因为只有那个特定的受访者在他们的答案池中同时具有“DAL”和“February”。到目前为止,感谢您的 cmets!
【问题讨论】:
-
我不明白。所有这些“关键词”是否都在同一个字段中过滤?
-
请发布您目前拥有的任何代码。您愿意接受 VBA 解决方案吗?您可以编写一个自定义函数,以逗号分隔的字符串返回所有搜索条件记录,并使用 IN() 比较来过滤您的结果。
-
@JohnnyBones 是的,关键字都在同一个字段中。每个关键字都是同一“关键字”字段下的单独记录。
-
@Gene 我绝对愿意接受 VBA 解决方案。到目前为止,我还没有在这个特定的数据库中手动编写任何代码。我只用过宏。
-
这是我的查询设计视图的图像。 i.stack.imgur.com/wZdmD.jpg
标签: ms-access database-design ms-access-2010 ms-access-2007 relational-database