我有一个访问数据库,其中有一个显示质量评估的表格。我希望用户能够单击一个复选框(flgFailed),该复选框将仅向他们显示失败的质量检查。失败的字段名是MovedToResolution,这是一个复选框,0是失败。如果未选中此选项,我希望他们查看所有质量检查,无论其失败状态如何。我基于网络搜索尝试了如下IIF语句...
IIf([Forms]![MainMenu]![ManagersMenu].[Form]![flgFailed]=0,[MovedToResolution] Is Null,[MovedToResolution]=False)
字段名称中的...,此表达式的条件中的<> False。
但是,无论是否选中flgFailed,运行查询时都不会得到任何记录。当我运行不带此表达式的查询时,它运行良好。香港专业教育学院也试图用-1/0替换True / False的值,但是没有运气。任何帮助,将不胜感激。
答案 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]
布尔表达式应与And
和Or
组合。 IIf
将基于布尔表达式返回其他类型的值。