forms - 在 Form_Unload 之前执行的文本框的 LostFocus 方法

标签 forms vba ms-access controls ms-access-2010

我目前正在使用 MS Access VBA 进行编程。我有一个带有文本框的表单。我正在文本框的 LostFocus 事件上执行一些代码。

但是,当我使用鼠标关闭表单并单击表单右上角的关闭按钮并将光标放在文本框中时,我注意到 LostFocus 事件在 Form_Unload 事件之前执行。

有办法避免这种情况吗?

另外,我在哪里可以找到事件的优先级?或者VBA中的优先级是如何决定的?

编辑:

我的具体应用是这样的。 我在 MS Access 中有一个表单,用于接受用户的登录凭据。

enter image description here

我想禁用密码和登录按钮的文本框,直到输入有效的用户名。我在 onLostFocus 事件中检查用户名是否有效。现在,考虑这样一种情况,即关闭此表单而无需在用户名文本框中输入任何内容。在这种情况下,onLostFocus 事件会在 Form_Unload 事件之前执行。

但是,对于正常操作,我需要 onLostFocus 事件,因为在该事件上我启用密码文本框和登录按钮。

可以有不同的方法吗?

最佳答案

失去焦点事件通常不是代码的最佳事件。您有使用它的具体原因吗?如果是这样,您将需要在执行中添加一个条件。

Access 表单的事件顺序是:

Exit → LostFocus

If you are closing a form, the Exit and LostFocus events occur before the events associated with closing the form (such as Unload, Deactivate, and Close), as follows:

Exit (control) → LostFocus (control) → Unload (form) → Deactivate (form) → Close (form)

--http://office.microsoft.com/en-ie/access-help/order-of-events-for-database-objects-HP005186761.aspx

关于forms - 在 Form_Unload 之前执行的文本框的 LostFocus 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13191701/

相关文章:

javascript - 从 Ajax 加载页面提交 Ajax 表单

forms - amp-html http协议(protocol)限制

javascript - 如何在 PHP 开始创建照片存档之前加载页面?

excel - VBA Excel DataForm(搜索按钮上的 Else If 语句)

ms-access - MS Access 触发器?

forms - 仅新对象需要字段

mysql - 组合框在子表单中搜索所有匹配的记录

Excel - 保存按钮

sql - 为什么我的 DLookup 生成 "invalid use of null"错误 : 94

ms-access - MS Access 中查询的字段默认值