将条件设置为值或为Null

时间:2018-10-01 19:21:50

标签: ms-access

我有一个访问数据库,其中有一个显示质量评估的表格。我希望用户能够单击一个复选框(flgFailed),该复选框将仅向他们显示失败的质量检查。失败的字段名是MovedToResolution,这是一个复选框,0是失败。如果未选中此选项,我希望他们查看所有质量检查,无论其失败状态如何。我基于网络搜索尝试了如下IIF语句...

IIf([Forms]![MainMenu]![ManagersMenu].[Form]![flgFailed]=0,[MovedToResolution] Is Null,[MovedToResolution]=False) 
字段名称中的

...,此表达式的条件中的<> False。

但是,无论是否选中flgFailed,运行查询时都不会得到任何记录。当我运行不带此表达式的查询时,它运行良好。香港专业教育学院也试图用-1/0替换True / False的值,但是没有运气。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:1)

假设ManagersMenu是子窗体控件,并且表达式[Forms]![MainMenu]![ManagersMenu].[Form]![flgFailed]确实返回了所需的值,我将标准表达式更改为

Not [Forms]![MainMenu]![ManagersMenu].[Form]![flgFailed] Or [MovedToResolution] = 0

但是在条件表达式中,MovedToResolution是指表列而不是CheckBox,因此要测试0还是False取决于类型。柱。如果将其声明为整数,则0没问题;但是,如果它是Yes/No列,则使用

Not [Forms]![MainMenu]![ManagersMenu].[Form]![flgFailed] Or Not [MovedToResolution]

布尔表达式应与AndOr组合。 IIf将基于布尔表达式返回其他类型的值。