繁体   English   中英

表单更改时触发的事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM