首页 > 解决方案 > 运行时错误“2467”:您输入的表达式引用了已关闭或不存在的对象

问题描述

在以下代码()之后,我遇到了 2467 错误:

Option Compare Database
Option Explicit

Private Sub CmdReject_Click()
Dim lngID As Long

    lngID = Me.ID
    If Me.Dirty Then Me.Dirty = False
    DoCmd.Close , ""
    Beep 
    MsgBox "Issue has been saved.", vbInformation, ""
    NewFormIssue (lngID)

End Sub

Private Sub NewFormIssue(lngID As Long)

    DoCmd.OpenForm "Frm_Issue_Entry", acNormal, , , acFormAdd
    Me.Person.Value = DLookup("[Previous_Person]","[tbl_Issue_Log]", "[ID] = " lngID)

End Sub

运行时错误发生在Me.Person.Value = DLookup("[Person]","[tbl_Issue_Log]", "[ID] = " lngID)生产线期间。

我正在尝试使用前一个表单的 ID 来填充这个新表单上的 11 个字段,这样用户就不必使用 dlookup 重做所有事情,这在以前有效,但我似乎无法找到它停止工作的原因.. .

标签: vbams-accessruntime-error

解决方案


我想我知道发生了什么(至少从高层次的角度来看)。Me仍然指向先前关闭的表单,而不是添加的新表单,从而导致错误。我通过使用解决了这个问题Form_Frm_Issue_Entry.Person.Value,但我不确定它为什么以前有效。


推荐阅读