VBA 窗体关闭事件中的错误 2448 "cannot assign a value"

Error 2448 "cannot assign a value" on VBA Form Close event

我有一个基于普通查询的普通表单(非模态)。在 Close() 事件期间,当我向记录的 TaxFinal 字段写入更新时,我收到错误消息:

runtime error 2448: You cannot assign a value to this object.

当表单打开时,我可以通过输入新值来更新字段。它不是计算字段。

此表单具有相当多的 VBA 自动化。所以我去掉了大部分代码,然后 运行 反编译,然后编译。这是剩下的:

Option Compare Database:    Option Explicit

Private Sub Form_Load()
    Me.Form!boxTaxFinal = 0.11
End Sub

Private Sub Form_Close()
    Me.Form!boxTaxFinal = 0.12  ' <--- ERROR 2448
End Sub

如您所料,立即 window 中的这些条目也失败了:

Me.Form!boxTaxFinal = 0.12  ' <--- ERROR 2448
Me.boxTaxFinal = 0.12       ' <--- ERROR 2448

我也无法写入其他字段,所以这不是命名问题。

我知道我可以选择其他形式的事件,例如 AfterUpdate(),但我认为 Close() 也适合我的目的。

你的想法?

数据绑定控件在表单卸载后不可编辑。我不确定它们是总是 不可用还是只是不可靠。无论哪种方式,Form Close 发生在 Form Unload 之后,在那个阶段您根本无法访问数据绑定控件。

选择不同的表单事件,例如更新前,运行 您的代码。