当我从错误处理程序运行此代码时,我一直收到错误。
我需要做的就是将变量传递给我创建的存储过程, 我有一个包含列表视图和重新激活按钮的表单。
当我在列表视图中选择调查问卷然后单击重新激活时,它应该将有效的调查问卷ID发送到存储过程。
以下是代码:
Private Sub btnReActivate_Click()
strModuleName = "frmReport.Reactivate"
Dim oConn As ADODB.Connection
Dim objCmd As New ADODB.Command
On Error GoTo ErrorHandler
Set oConn = GetConnection
If oConn.State = adStateOpen Then
Set objCmd = Nothing
With objCmd
.CommandText = "sproc_Reactivate"
.CommandType = adCmdStoredProc
.ActiveConnection = oConn
' Refresh the parameters collection and populate it
.Parameters.Append _
objCmd.CreateParameter("@ID", adInteger, adParamInput, , Mid(LV.SelectedItem.Key, 2, Len(LV.SelectedItem.Key) - 2))
End With
' Execute the command
objCmd.Execute
End If
ErrorHandler:
MsgBox GetMessage("frmModule1", 1, True, "Module: " & strModuleName & " Line: " & Erl & " - " & Err.Number, Err.Description), vbCritical, "Manage"
End Sub
我得到:“发生错误参考:[模块frmReport.Reactivate行:0-0] - []”
答案 0 :(得分:3)
您的代码有点不完整,因为它缺少ErrorHandler部分,但在Exit Sub
标签之前是否有ErrorHandler:
?从错误中看,函数似乎成功但通过正常的代码流进入ErrorHandler例程。
通常,在VB6中,错误处理程序表单是:
On Error GoTo MyErrorHandler
... lots of code here
'If we reach this point, we have a successful exit
Exit Sub
MyErrorHandler:
... Code to display/handle error here ....