当我在表单上更改某些内容然后切换到设计模式时,我收到以下错误:
您输入的表达式是指已关闭或不存在的对象
Debug指向表单的BeforeUpdate事件中的代码;见下文:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.JobID = "Job" & Format(Me.ID, String(12 - Len("Job"), "0"))
End Sub
此代码只是从自动编号字段创建自定义主键;这是我做的第一件事之一,我已经在Form和Design View之间进行了几周的切换而没有问题。
任何人都知道可能导致这种情况的原因吗?
答案 0 :(得分:1)
我可以提供一些我认为可以解决问题的建议,但我承认我并不完全确定真正的原因。通过解决它,您可能能够自己发现原因。
当引用底层字段(而不是控件)时,我建议你使用“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