不知道你的存储过程是什么内容,有没有参数等等,以下代码(系统pubs示例数据库,该存储过程无参数)经测试通过:
Sub YKKYL()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim adocmd As New ADODB.Command
Dim SQL As String, mydata As String
Dim i As Integer
cnn.ConnectionString = "Provider=SQLOLEDB;Server=jtb038;" & _
"Database=pubs;Integrated Security=SSPI;" & _
"User ID=sa;Password=;"
cnn.Open
Set adocmd.ActiveConnection = cnn '指示指定的 Command对象当前所属的 Connection对象
adocmd.CommandText = "reptq1" '设置Command对象源
adocmd.CommandType = adCmdStoredProc '通知提供者CommandText属性
Set rs = adocmd.Execute
Cells.Clear
For i = 0 To rs.Fields.Count - 1
Cells(1, i + 1) = rs.Fields(i).Name
Next i
Range("a2").CopyFromRecordset rs
Cells.Columns.AutoFit
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub
结果如下:
pub_idavg_price
07369.784
087715.41
138918.976
ALL14.7662