![](/img/trans.png)
[英]Running Sql server Stored Procedure with excel parameter and without using VBA
[英]Accessing an SQL Server stored procedure (containing no SELECT statement) from Excel VBA, ideally without using Excel Data Connections?
我正在嘗試構建一個VBA表單,該表單運行SQL Server存儲過程來緩存數據,然后再執行其他任何操作。 理想情況下,我不希望使用Excel數據連接,因為那樣我就無法將其導出到新的工作簿中,而不必大驚小怪-最好將所有信息都包含在表單文件中。
我知道將VBA連接到數據庫的主要方法是使用以下幾行代碼:
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnn.Open ConnectionString
rst.Open QueryText, cnn, adOpenDynamic
/*Whatever you're doing to the data goes here*/
rst.Close
cnn.Close
我遇到的問題是緩存過程不會返回數據集(甚至不是空白數據集),並且如果沒有返回數據,這種連接似乎會引起麻煩。 而且,如果不需要的話,我不想修改該過程。
在這些約束條件下是否存在可行的解決方案? 還是我只是太煩躁而應該吸干它並使用Excel數據連接之類的東西?
我認為您正在尋找ADODB.Command。 嘗試這樣的事情:
Dim cnn As New ADODB.Connection
Dim cmd As ADODB.Command
cnn.Open ConnectionString
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cnn
.CommandText = "EXEC spNameHere param1"
.CommandType = adCmdText
.Execute
End With
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.