【发布时间】:2013-07-21 20:54:29
【问题描述】:
我有一个查询,除其他外,它返回一个 Active 标志:true 表示 Active,false 表示非 Active。表单上有一个活动复选框控件。默认为选中。当复选框被选中时,我需要查询只返回 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 的OnClick 事件调用该查询时,它似乎可以访问[Forms]![myForm]![chkActive]。它被调用:
DoCmd.Requery
感谢任何有用的见解。
【问题讨论】:
标签: ms-access