0

我想根据选择进行过滤,但我想做的是,如果选择了 Q1 和 Q2 选项,我想同时为 Q1 和 Q2 过滤它们。这是我编写但无法正常工作的代码:

Like IIf([Forms]![Form1]![Combo1]="All";"Q1" Or "Q2";[Forms]![Form1]![Combo1])

运行此代码后,程序将“Q1”或“Q2”部分更改为 ([QQuery].[Q])="Q1" 或 ([Q_Query].[Q])="Q2"。

我已经能够逐个过滤,我的意思是 Q1、Q2 或 Q3 分别过滤。如何同时过滤 Q1 和 Q2。谢谢。

4

2 回答 2

1

好的,我终于做到了!这是我写的:

IIf([Forms]![Form1]![Combo1]="Q1+Q2";"Q1"; [Forms]![Form1]![Combo1]) Or IIf([Forms]![Form1]![Combo1]="Q1+Q2";"Q2";[Forms]![Form1]![Combo1]) 

等等。但是如果要添加所有部分,则必须添加到上面代码的末尾:

Or Like IIf([Forms]![Form1]![Combo1]="All";"*";[Forms]![Form1]![Combo1]) 

希望这可以帮助其他有同样问题的人再次感谢Linger :)

于 2013-10-01T09:51:43.357 回答
0

您没有指定通配符,因此您实际上并未使用LIKE,结果与使用相等运算符 ( =) 相同。

我相信以下内容会更适合您。替换Quarter为实际的字段名称。我将它们放在括号中,以防万一您有任何其他要添加到WHERE子句的标准。

IIf([Forms]![Form1]![Combo1]="All"; "(Quarter = 'Q1' Or Quarter = 'Q2')";[Forms]![Form1]![Combo1])

如果您确实需要使用,LIKE那么它应该如下所示:

IIf([Forms]![Form1]![Combo1]="All";"(Quarter LIKE '*Q1*' Or Quarter LIKE '*Q2*')";[Forms]![Form1]![Combo1])
于 2013-09-30T13:09:48.953 回答