我正在尝试在 MS Access 查询中运行以下内容作为条件。基本上我想做的是:
- 如果 checkbox = True 则显示所有记录,包括那些空白或空字段的记录(我的表单组合框 [combo9] 中的默认值为“*”)
- 如果 checkbox = False,则仅显示与 Combo9 中的值匹配的记录
我当前的表达式没有给出任何错误,但也没有产生任何结果!表达式的 TRUE 和 FALSE 部分单独工作可以正常工作,但在组合到 iif 表达式中时不起作用。
Like IIf([Forms]![F_leg_reg]![Check25]=True,Like [Forms]![F_leg_reg]![Combo9] Or "" Or Is Null,Like [Forms]![F_leg_reg]![Combo9])
有人可以告诉我我在这里做错了什么吗?提前致谢。
不确定你需要这么多likes
,您正在使用or
返回值中的逻辑运算符没有意义
IIF (condition, value-if-true, value-if-false)
so..
Like IIF ([forms]![foo].[text1] = "1" OR [forms]![foo].[text2] = "1", 'bar', 'foobar')
如果满足任一条件,IIF 将返回“bar”,否则将返回“foobar”
如果你愿意的话你可以嵌套它
Like IIF ([forms]![foo].[text1] = "1" OR [forms]![foo].[text2] = "1", 'bar',
IIF ([forms]![foo].[text1] = "2" AND [forms]![foo].[text2] = "2", 'foobar', null)
)
如果满足任一条件,IIF 将返回“bar”,否则我们检查是否text1
and text2
是“2”,如果是,则返回“foobar”,否则返回null
希望这可以帮助
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)