我有一个查询,除其他外,它返回一个活动标志:活动为真,非活动为假。表单上有一个活动复选框控件。默认为选中。当复选框被选中时,我需要查询只返回 Active = true 的记录。当未选中该复选框时,我需要返回所有记录。
我一直在尝试在查询中的 Active 字段上设置一个条件,如下所示:
IIf([Forms]![myForm]![chkActive]=True,True,)
IIf([Forms]![myForm]![chkActive]=True,True, True or False)
IIf([Forms]![myForm]![chkActive]=True,True,([MyQuery]![Active])=True Or ([MyQuery]![Active])=False)
原因是如果检查了 chkActive,则 IIf 返回 True,否则返回一些我想要所有记录的指示。Checked 部分似乎工作正常。如果我使用类似的东西:
IIf([Forms]![myForm]![chkActive]=True,True,False)
我可以在查看真记录和假记录之间切换。我想在查看真实记录和所有记录之间切换。
另一件事是表单打开时查询不返回任何内容。我认为在[Forms]![myForm]![chkActive]
需要查询来填充表单时,值不存在。但是,当从chkActive[Forms]![myForm]![chkActive]
的事件中调用该查询时,它似乎可以访问 罚款。OnClick
它被调用:
DoCmd.Requery
感谢任何有用的见解。