VBA コードがサーバーでストアド プロシージャを実行していることは確認できますが、レコードセットを Excel に戻すことができません。
Set con = New ADODB.Connection
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
con.Open "Provider=SQLOLEDB;Data Source=" & ServerName & ";...."//works
set rs = cmd.Execute(, SP_Param, adCmdStoredProc) // executes
If rs.EOF = False Then WSP1.Cells(4, 1).CopyFromRecordset rs
//tosses Operation is not allowed when the object is closed.
プロバイダーを使用してみましたSQLOLEDB
が、それを使用してストアド プロシージャにアクセスできません。
関連する参考文献:
- ActiveX データ オブジェクト レコードセット 6.0 Lib
- ActiveX データオブジェクト 6.1
- ActiveX リモート データ サービス 6.0