0
私はVBAによってExcel 2007からストアドプロシージャを呼び出そうとしています。私はストアドプロシージャからExcelシートに戻ることを望みます。しかし、私はワークシート(「シート1」)に 「オブジェクトが閉じているときに実行時に3074の操作が許可されていません」を取得範囲(「A1」)CopyFromRecordset objMyRecordsetExcel 2007のVBAからmssqlストアドプロシージャを開き、データを取得するには
以下は私が書くコードです:。。
あなたは次のようにプロシージャを呼び出していることを指定する必要がOption Explicit
Sub OpenConnection()
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Dim ConnectionString As String
Dim CommandText As String
Set objMyConn = CreateObject("ADODB.Connection")
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New ADODB.Recordset
ConnectionString = "Provider=sqloledb;Data Source=abcsql,1433;Initial Catalog=admin;User Id=sa;Password=1234abcd;"
objMyConn.Open ConnectionString
Set objMyCmd.ActiveConnection = objMyConn
CommandText = "exec [admin].[dbo].[sp_weekly]"
objMyCmd.CommandType = adCmdText
Set objMyRecordset.Source = objMyCmd
objMyRecordset.Open
Worksheets("Sheet1").Range("A1").CopyFromRecordset objMyRecordset
end
でも同じ問題が発生します。 fyi、adCmdStoredProcは4 – user1188125
です。ストアドプロシージャの外観はどうなっていますか? –
ストアドプロシージャはselectステートメントを返します – user1188125