切换到设计模式时,“更新前”事件出现 MS 访问错误



当我更改表单上的某些内容然后切换到设计模式时,我收到以下错误:

您输入的表达式引用已关闭或不存在的对象

调试指向窗体的 BeforeUpdate 事件中的代码;请参见下文:

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me.JobID = "Job" & Format(Me.ID, String(12 - Len("Job"), "0"))
End Sub

此代码只是从自动编号字段创建自定义主键;这是我做的第一件事,我已经在窗体和设计视图之间切换了数周,没有问题。

有人知道是什么原因造成的吗?

我可以提供一些我认为可以解决问题的建议,但我承认我不确定真正的原因。通过解决它,您也许能够自己发现原因。

当引用基础字段(而不是控件)时,我建议您使用"bang"而不是"dot"。这可能足以解决这个问题。

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me!JobID = "Job" & Format(Me!ID, String(12 - Len("Job"), "0"))
End Sub

您可以尝试的另一件事是消除该代码的运行(如果不需要):

Private Sub Form_BeforeUpdate(Cancel As Integer)
    If IsNull(Me!JobID) = True Then
        Me!JobID = "Job" & Format(Me!ID, String(12 - Len("Job"), "0"))
    End If
End Sub

最新更新