我想根据选择进行过滤,但我想要做的是,如果选择了Q1和Q2选项,我想为Q1和Q2过滤它们。这是我写的代码而不是工作:
Like IIf([Forms]![Form1]![Combo1]="All";"Q1" Or "Q2";[Forms]![Form1]![Combo1])
运行此代码后,程序更改" Q1"或者" Q2"部分到([QQuery]。[Q])=" Q1"或([Q_Query]。[问])=" Q2"。
我已经能够逐个过滤,我的意思是Q1,Q2或Q3。如何同时过滤Q1和Q2。感谢。
答案 0 :(得分: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:)
答案 1 :(得分: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])