如何在查询的“条件”部分的IIF语句中获得多个真实结果

时间:2019-01-29 20:21:23

标签: ms-access

我使用从表单称为RunReports输入提供的标准称为查询字段"Active"。在表单中输入是一个组合框也被称为"Active"与三个选项,"Yes," "No,""Both."我想在查询中的标准来改变基于输入在这种形式的组合框。对于"Yes",我希望标准为"Yes"。对于"No",我希望标准为"No"。对于"Both",我希望条件为"Yes""No",这意味着查询应同时查找两者。

IIf([Forms]![RunReports]![Active]="Both",Like "*",[Forms]![RunReports]![Active])

没有给出响应时"Both"被选择,仿佛它正在寻找实际的字符*,而不是通配符它被认为是

IIf([Forms]![RunReports]![Active]="Both","Yes" Or "No",[Forms]![RunReports]![Active])

在此处选择"Both"时,将引发错误:

"This expression is typed incorrectly, or it is too complex to be evaluated.  For example, a numeric expression  may contain too many  complicated elements.  Try simplifying the expression by assigning parts of the expression to variables."

即使在标准中将"Yes""No"放在单独的行中也能正常工作,我仍然收到此错误。

我可以手动放置"Yes""No"在标准单独的行,以获得正确"Both"响应以及个体"Yes""No"得到他们相应的回应。在条件字段中使用Like"*"也可以。当我尝试这在IIF声明放置在标准领域,因为他们自己做不相同的方式工作。

有没有办法设置我的查询条件拉的所有记录既"Yes""No"响应由我的形式使用IIF声明中表示?

2 个答案:

答案 0 :(得分:0)

像iif([Forms]![RunReports]![Active] =“ Both”,“ *”,[Forms]![RunReports]![Active])

答案 1 :(得分:0)

谢谢,但这给出了无效的字符串错误,但这可以工作: IIf([Forms]![RunReports]![Active] =“ Both”,“是”,[Forms]![RunReports]![Active])或IIf([Forms]![RunReports]![Active] =“两者”,“否”,[表单]![RunReports]![活动])