[英]Event that fires when a form changes
我有显示项目信息的表格。 表单上的大多数字段都绑定到Project表,并像绑定字段一样显示和更新。 但是,我还有一个来自ProjectAudience表的10个复选框。 仅当选中表单上的框时,表中才会有匹配的记录。 因此,我需要插入和删除记录,因为这些框已被选中和未选中。
我可以使用AfterUpdate事件在复选框级别执行此操作,但这需要10个不同的事件。 我希望通过删除该项目的ProjectAudience表中的所有记录并添加选中的记录来在表单级别上做到这一点。
基本上,我正在寻找与Form_Current事件相反的事件,该事件将在触发记录导航按钮或关闭表单时触发。 我试图避免编写自己的导航按钮或向用户必须按的表单添加“保存”按钮。 我想要一个自动的东西,当用户离开记录时,它将更新此表。
根据以下评论:可以检查从无到有的所有框组合,而不仅仅是单个框。 因此,有可能我将清除所有记录,而不插入任何记录……或如果选中每个框,则添加10条记录。 (此外,我正在使用Microsoft Access 2003)
您是否考虑过将这些复选框添加到选项组并使用该组中的事件?
编辑重新注释,另一种方法,不使用选项组,而是将代码添加到所有相关选项的事件行中。
您不需要10个不同事件的代码,可以将事件行设置为,例如,单击函数名称时,让我们说:
On Click : =TestMe()
活动专线http://ltd.remou.com/access/EventLine.png
然后,您需要一个函数:
Function TestMe()
MsgBox "You clicked " & Screen.ActiveControl.Name
End Function
您可以使用BeforeUpdate方法。 但是,如果仅复选框已更改,则该事件将不会触发,因为与表单绑定的记录没有更改。
我建议将事件链接到复选框。 创建一个执行所需功能的函数UpdateCheckbox(CheckboxID为整数),然后将其放入ckeckbox中的'OnClick'事件中:= UpdateCheckbox(1)。 将不同的复选框更改为1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.