访问VBA变量似乎在子例程后没有清除,获取过程声明不匹配



我有一个数据库,生产团队使用该数据库进行审查。它包含一个问题列表,如果答案为"否",则大多数问题都需要输入异常他们目前正在用组合框完全更新这些字段。我正在尝试对其进行编程,以便在每个答案之后,基于该答案的异常部分始终相同,而不必更新。我首先声明变量(在子程序中以及在顶部都是公共变量)。我的思维过程是,每次他们回答一个问题时,都会为该特定问题声明变量,并根据这些变量填写弹出表单。我的代码按预期工作,直到我尝试在变量发生变化的情况下将相同的代码添加到不同的问题中。有几个变量总是一样的,但我现在还不关心清理这些变量。我的代码如下:

Option Compare Database
Option Explicit
Public LnNum As Long
Public PCID As Long
Public QCID As String
Public Cat As String
Public ExcDesc As String
Private Sub QCSP15_AfterUpdate()
LnNum = Me.Loan_Number.Value
PCID = Me.PreCloseID.Value
QCID = "QCSP15"
Cat = "Preliminary Application"
ExcDesc = "The initial 1003 was not found in the file."
    If Form_frmPreCloseAudit.QCSP15.Value = "No" Then
        DoCmd.OpenForm "frmTestExceptions"
        DoCmd.GoToRecord acDataForm, "frmTestExceptions", acNewRec
        Form_frmTestExceptions.Loan_Number.Value = LnNum
        Form_frmTestExceptions.PreClose_ID.Value = PCID
        Form_frmTestExceptions.QCSPID = QCID
        Form_frmTestExceptions.QCSP_Category.Value = Cat
        Form_frmTestExceptions.Exception_Text.Value = ExcDesc
    Else
        DoCmd.GoToControl "QCSP160"
    End If
End Sub
Private Sub QCSP154_AfterUpdate(Cancel As Integer)
LnNum = Me.Loan_Number.Value
PCID = Me.PreCloseID.Value
QCID = "QCSP154"
Cat = "Preliminary Application"
ExcDesc = "The DocuSign Certificate of Completion for the initial disclosure package was not uploaded to Doc V."      
     If Form_frmPreCloseAudit.QCSP154.Value = "No" Then
        DoCmd.OpenForm "frmTestExceptions"
        DoCmd.GoToRecord acDataForm, "frmTestExceptions", acNewRec
        Form_frmTestExceptions.Loan_Number.Value = LnNum
        Form_frmTestExceptions.PreClose_ID.Value = PCID
        Form_frmTestExceptions.QCSPID = QCID
        Form_frmTestExceptions.QCSP_Category.Value = Cat
        Form_frmTestExceptions.Exception_Text.Value = ExcDesc
     Else
        DoCmd.GoToControl "QCSP161"
     End If
End Sub

一旦我为下一个问题添加了第二个"更新后"子过程,我就会得到过程声明不匹配错误。我试着给变量命名不同的东西,但似乎什么都不起作用,这可能超出了我作为新手的能力。

Cancel As Integer不支持After Update事件。从声明中删除:

'Private Sub QCSP154_AfterUpdate(Cancel As Integer)
Private Sub QCSP154_AfterUpdate()

让Access从事件过程的代码存根开始,以避免将来出现该问题。从属性表的事件选项卡执行此操作。找到您想要的事件,然后单击相邻输入框最右侧的3点图标。

最新更新