使用SQL Server 2012 \ Excel 2010. Excel调用将返回1或2的SQL SP,然后我需要基于此执行其他操作。Excel中的VBA查询记录集值SQL类型不匹配错误
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Dim rs As ADODB.RecordSet
Dim WSP1 As Worksheet
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.RecordSet
' Log into our SQL Server, and run the Stored Procedure
con.Open "Provider=SQLOLEDB;Data Source=xxxxxxxx;Initial Catalog=xxxxxxx;Integrated Security=SSPI;Trusted_Connection=Yes;"
cmd.ActiveConnection = con
' Set up the parameter for our Stored Procedure
' (Parameter types can be adVarChar,adDate,adInteger)
cmd.Parameters.Append cmd.CreateParameter("User", adVarChar, adParamInput, 15, Trim(Range("C7").Text))
Application.StatusBar = "Running stored procedure..."
cmd.CommandText = "usp_GL_Code_Access"
Set rs = cmd.Execute(, , adCmdStoredProc)
If rs = 1 Then
MsgBox "true"
Else
MsgBox "false"
rs.Close
Set rs = Nothing
Set cmd = Nothing
con.Close
Set con = Nothing
目前我只是使用MSGBOX真\假看到从RS \ SQL SP的价值,但我不断收到错误消息“类型不匹配”,它凸显了
IF rs = 1 Then
线。
任何想法?
将Excel中真正看到1或2,但?我需要继续SP,并说如果1然后做这个别的做别的 – Michael