正如标题中提到的,我只想从 VBA 调用 SQL Server 存储过程。
我可以这样调用我的存储过程:
EXEC dbo.spClientXLS @Nr = ' 131783', @date = '21.09.2014'
Nr
is a varChar(50)
输入值,以及date
属于类型date
现在,如果我想从 VBA 调用它,我会收到一条错误消息。我的VBA代码是:
...'SQL Server stored procedure which is to execute with parameters
Dim ADODBCmd As New ADODB.Command
With ADODBCmd
.ActiveConnection = objconn
.CommandTimeout = 500
.CommandText = "dbo.spClient"
.CommandType = adCmdStoredProc
End With
Set recordset = ADODBCmd.Execute(, date, Nr)
Date
属于类型Date
, Nr
属于类型String
.
如果有人能向我解释我如何用两个参数来处理它,我会很高兴。
Regards
尝试这个。
Dim cmd As New ADODB.Command
Dim rs As ADODB.Recordset
With cmd
.ActiveConnection = objcnn
.CommandText = "spClient"
.CommandType = adCmdStoredProc
.Parameters.Refresh
If .Parameters.Count = 0 Then
.Parameters.Append cmd.CreateParameter("@Nr", adVarChar, adParamInput, 50)
.Parameters.Append cmd.CreateParameter("@date", adDate, adParamInput)
End If
.Parameters.Item("@Nr").Value = "131783"
.Parameters.Item("@date").Value = "09/21/2014"
Set rs = .Execute()
End With
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)