访问查询 - 过滤相关问题

时间:2017-10-24 08:21:30

标签: sql vba ms-access

我遇到ms-access查询问题。我想有一个审查小组,我们可以根据需要使用多个过滤器快速切换项目。 因此我创建了访问查询,并将参数放在要过滤的列中的条件下。参数取自Review_Form中的字段。它可以工作,如果我输入一个特定的数字,但我不知道输入什么来接收所有记录而不过滤它们。我尝试了几种不同的方法但没有成功。我用过例如示例见以下链接: https://support.office.com/en-us/article/Apply-criteria-to-text-values-202548b6-b065-4387-800b-2456a7099bca 整个想法如附图所示: enter image description here

如果您有任何建议,想法如何解决,请告诉我。 谢谢, 彼得

Andre提供的解决方案有效,但仅限于有1个过滤器。在我的情况下,我想使用更多的过滤器。尝试将任何字符串值应用为(Is Not Null)或(Like)以获取特定过滤器的所有记录,并以之前的错误结束。 换句话说:如果我直接在访问查询中输入sting例如(不是空)它会工作,但如果我试图使用ViewProject表单中的字段而不是数值字符串,则会导致错误。 你有什么建议如何克服这个问题吗?

1 个答案:

答案 0 :(得分:1)

更简单的解决方案是在状态过滤器= 3

时使条件始终为TRUE

在SQL视图中更改WHERE条件,如下所示:

WHERE ((Status.id_status = Forms!ViewProject!pstatus1) OR (Forms!ViewProject!pstatus1 = 3))

然后您不需要在VBA中进行翻译。您也可以在查询中直接引用T_project_s1,根本不需要sub。