Ms access MS Access VBA-变量未定义声明变量时出错

Ms access MS Access VBA-变量未定义声明变量时出错,ms-access,vba,Ms Access,Vba,我创建了一个表单,其中包含一些字段,我希望使用变量将这些字段转换为新表单。表单代码的设置是“Option Compare Database”和“Option Explicit”。我在下面声明了四个公共变量,如下所示: Option Compare Database Option Explicit Public LnNum As Long Public InvLnNum As String Public Inv As String Public DefID As Long 下面是打开表单的代码。

我创建了一个表单,其中包含一些字段,我希望使用变量将这些字段转换为新表单。表单代码的设置是“Option Compare Database”和“Option Explicit”。我在下面声明了四个公共变量,如下所示:

Option Compare Database
Option Explicit
Public LnNum As Long
Public InvLnNum As String
Public Inv As String
Public DefID As Long
下面是打开表单的代码。我在第一个表单上设置了一个按钮,当它打开时,我想要几个字段复制到新表单上(这些字段具有相同的名称)。这是该特定事件的代码:

Private Sub cmdNewDefect_Click()

LnNum = Me.LoanNumber.Value
InvLnNum = Me.InvestorLoanNumber.Value
Inv = Me.Investor.Value
DefID = Me.ID.Value

DoCmd.OpenForm "frmInvestorDefects"
DoCmd.GoToRecord acDataForm, "frmInvestorDefects", acNewRec
Form_frmInvestorDefects.LoanNumber.Value = LnNum
Form_frmInvestorDefects.InvestorLoanNumber.Value = InvLnNum
Form_frmInvestorDefects.Investor.Value = Inv
Form_frmInvestorDefects.ID.Value = DefID

End Sub

当我点击按钮时,我得到了错误消息“Compile error:Variable Not Defined”。我有另一个数据库,它有多个表单,可以完成我希望这个表单能够完成的事情,而不会出现问题。代码完全相同,只是事件发生在更新后事件上,而不是在单击时,所以我被难住了。我曾尝试使用Dim语句而不是Public语句将变量声明移动到实际的子过程中,但这也不起作用。我在想,我忘记了某个场景或某件事。提前谢谢

如果要打开的表单是:“frmInvestorDefects” 然后尝试:

frmInvestorDefects.LoanNumber.Value = LnNum
不确定为什么需要“表单”前缀…
也不确定为什么需要.Value部分

frmInvestorDefects.LoanNumber = LnNum 

[frmInvestorDefects].[LoanNumber] = LnNum