我有一个查询,其中包括一个Active标志:true表示Active,false表示未激活。表单上有一个活动复选框控件。缺省值是Checked。当复选框被选中时,我需要查询返回只有Active = true的记录。当复选框未选中时,我需要返回所有记录。MS Access查询在具有true和所有记录的记录之间切换
我一直在试图设置活动领域的标准,在这样的查询:
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)
我可以在查看True记录和False记录之间切换。我想在查看True记录和所有记录之间切换。
另一件事是当表单打开时查询不返回任何内容。我认为[Forms]![myForm]![chkActive]
的值在需要查询来填充表单时不存在。但是,查询似乎在从chkActive的OnClick
事件中调用它时访问[Forms]![myForm]![chkActive]
的罚款。它被称为:
DoCmd.Requery
任何有用的见解是赞赏。
谢谢 - 两者都很好! –