VBA//在存储过程中设置变量(mssql)//ADODB

VBA//在存储过程中设置变量(mssql)//ADODB,vba,stored-procedures,ado,Vba,Stored Procedures,Ado,我在mssql服务器上有一个存储过程,其中包含一个局部变量名“path”。是否可以从vba中设置此变量? 在vba中我得到一个文件的路径,这个路径需要存储过程来完成一些工作。。。 如何设置此变量 谢谢 是的,您可以从VBA运行存储过程 Sub RunSP() Dim con As Connection Dim rst As Recordset Set con = New Connection con.Open "Provider=SQLOLEDB;Data Source=ServerName

我在mssql服务器上有一个存储过程,其中包含一个局部变量名“path”。是否可以从vba中设置此变量? 在vba中我得到一个文件的路径,这个路径需要存储过程来完成一些工作。。。 如何设置此变量


谢谢

是的,您可以从VBA运行存储过程

Sub RunSP()

Dim con As Connection
Dim rst As Recordset

Set con = New Connection
con.Open "Provider=SQLOLEDB;Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=SSPI;"

Set rst = con.Execute("Exec dbo.[Ten Most Expensive Products]")
ActiveSheet.Range("A1").CopyFromRecordset rst

rst.Close
con.Close
End Sub
你是说路径在通话中?如果需要单元格的值,只需引用它即可

ThePath = Sheets("Sheet1").Range("A1").Value

我明白了。在参数/变量中包含“”非常重要

例如:

@qry = "procedure-Name" @ PATH <- in this Variable you must include ' ' to set the Parameter in the stored procedure - blank is not necessary!!
可能重复的
cn.Execute qry