使用表作为查询的条件

时间:2015-11-04 13:36:21

标签: ms-access database-design ms-access-2010 ms-access-2007 relational-database

我已经在互联网上搜索了解决这个问题的方法,而且我的智慧结束了。我正在使用查询来返回调查(表)中的响应。我需要能够使用多个过滤器过滤查询结果。换句话说,1。)用户将选择他想要过滤的关键词,2。)关键词将被附加到表格中.3)查询使用表格中的字段作为标准,并且仅返回与表格中所有关键字匹配的结果。

通过使用Dlookup([fieldName],[tableName],Not"")作为我的查询条件,我取得了一定的成功,但这只是通过匹配表中的第一项来过滤查询,虽然我需要通过匹配表中的所有项目来过滤查询。

提前感谢您的帮助!

P.S。这是关于SO的第一个问题!

编辑:

这是我存储了活动过滤器的表(FilterStack_Table)。 "关键词"我指的是答案中的答案'字段。

Table of filters

这是我的查询,它返回RespondentID以及他们在调查中回答的内容。答案栏下的标准是DLookUp("答案"," FilterStack_Table")

Running Query

查询返回的内容仅为RespondentID 5,因为只有该特定受访者同时具有“DAL”和“DAL”。和'二月'在他们的答案池中。感谢您的评论到目前为止!

1 个答案:

答案 0 :(得分:0)

您查询的SQL应如下所示:

SELECT *
FROM MyTable
WHERE MyField IN 
(
SELECT MyKeyFieldData
FROM MyOtherTable
)

显然,上面的字段和表名不是文字的,你必须用字段和表名替换它们。但这是"模板"你会用。