我有一个生产团队用于执行审核的数据库。它包含一系列问题,如果答案是“否”,则大多数问题都需要输入例外。他们目前正在使用组合框完全更新这些字段。我正在尝试对其进行编程,以便在每次回答之后,基于该回答始终相同的异常部分不必更新。我已经开始声明变量(在子例程和顶部都作为公共变量)。我的思维过程是,每次他们回答问题时,都会针对该特定问题声明变量,弹出窗口将根据这些变量填充。我的代码按预期工作,直到我尝试将相同的代码添加到更改变量的不同问题。有一些变量总是相同的,但我并不担心清理它们。我的代码如下:
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
我添加第二个“更新后”'对于下一个问题的子程序,我得到的程序声明不匹配错误。我已经尝试将变量命名为不同的东西,但似乎没有任何工作,并且可能超出了我的能力,无法成为新手。
答案 0 :(得分:0)
Cancel As Integer
。从声明中删除它:
'Private Sub QCSP154_AfterUpdate(Cancel As Integer)
Private Sub QCSP154_AfterUpdate()
通过让Access启动您使用事件过程的代码存根来避免将来出现此问题。从属性表的事件选项卡中执行此操作。找到所需的事件,然后单击相邻输入框最右侧的3点图标。