VBA EGe错误消息rom Execute SP
我有一个执行存储过程的Excel宏(SQL2008 R2)。SP有很多错误处理,并且会产生很多自定义错误。有没有一种方法可以在不使用输出参数的情况下将这些参数返回到VBA(假设这样做可行)。我所得到的只是错误6 这是我的代码片段VBA EGe错误消息rom Execute SP,vba,stored-procedures,Vba,Stored Procedures,我有一个执行存储过程的Excel宏(SQL2008 R2)。SP有很多错误处理,并且会产生很多自定义错误。有没有一种方法可以在不使用输出参数的情况下将这些参数返回到VBA(假设这样做可行)。我所得到的只是错误6 这是我的代码片段 ' Call the SP Dim iReturn As Integer iReturn = 0 cmd.CommandType = adCmdStoredProc cmd.ActiveCon
' Call the SP
Dim iReturn As Integer
iReturn = 0
cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = conn
cmd.CommandText = "EPMS_CreateInvoice"
cmd.Parameters.Append cmd.CreateParameter("iReturn", adInteger, adParamReturnValue)
cmd.Parameters.Append cmd.CreateParameter("@SGInvID", adInteger, adParamInput)
cmd.Parameters.Append cmd.CreateParameter("@InvDate", adVarChar, adParamInput, 10)
cmd.Parameters.Append cmd.CreateParameter("@PostDate", adVarChar, adParamInput, 10)
cmd.Parameters.Append cmd.CreateParameter("@CSR", adVarChar, adParamInput, 50)
cmd.Parameters.Append cmd.CreateParameter("@SalesRep", adVarChar, adParamInput, 20)
cmd.Parameters.Append cmd.CreateParameter("@BillerInitials", adVarChar, adParamInput, 4)
cmd.Parameters.Append cmd.CreateParameter("@Terms", adVarChar, adParamInput, 5)
cmd.Parameters.Append cmd.CreateParameter("@InvNo", adVarChar, adParamInput, 20)
cmd.Parameters.Append cmd.CreateParameter("@CustomerID", adVarChar, adParamInput, 20)
cmd.Parameters.Append cmd.CreateParameter("@Draft", adBoolean, adParamInput)
iReturn = cmd.Parameters(iReturn)
cmd.Parameters("@SGInvID") = SGInvID
cmd.Parameters("@InvDate") = InvoiceDate
cmd.Parameters("@PostDate") = PostingDate
cmd.Parameters("@CSR") = CSR
cmd.Parameters("@SalesRep") = SalesRep
cmd.Parameters("@BillerInitials") = BillerInitials
cmd.Parameters("@Terms") = TermsCode
cmd.Parameters("@InvNo") = InvoiceNo
cmd.Parameters("@CustomerID") = CustomerID
cmd.Parameters("@Draft") = Draft
谢谢
马克蒂姆·威廉姆斯的回答正是我想要的:
如果您使用的是ADO,您是否尝试过检查连接的错误集合:w3schools.com/ADO/ADO_ref_error.asp?我显然不知道您的SP会做什么,但是,不可能将大部分错误处理从存储过程中去掉吗?如果您使用ADO,您是否尝试过检查连接的
错误
集合:?Andy,谢谢您的回复,但是SP实现了很多业务逻辑,所以转到VBA是不实际的Tim,谢谢,这正是我所需要的!