我正在使用 vba 和以下脚本将 SQL 导入 Excel(经过审查以保护一些数据库信息,但是脚本的部分内容有效)当我进行编译时,我收到运行时错误 430:类不支持自动化或不支持预期接口(interface)
我使用的是 Excel 2007、VBA 6.5 和 SQL 2005
这是脚本
Sub GetDataFromADO()
Dim objMyConn As ADODB.Connection
Dim objMyCmd As ADODB.Command
Dim objMyRecordset As ADODB.Recordset
Set objMyConn = New ADODB.Connection
Set objMyCmd = New ADODB.Command
Set objMyRecordset = New Recordset
objMyConn.ConnectionString = "Provider=SQLOLEDB;SERVER=M$#$%#@@$1;DATABASE=i*&^*;Trusted_Connection=yes;HDR=yes"
objMyConn.Open
Set objMyCmd.ActiveConnection = objMyConn
objMyCmd.CommandText = "use i*&^* select * from $#%.^&_d**^%_p**^^l where year(d****_date) = 2012 and month(d***_date)= 03 and deal_id < 5*******0 order by d***_id"
objMyCmd.CommandType = adCmdText
objMyCmd.Execute
ActiveSheet.Range("A2").CopyFromRecordset (objMyRecordset)
End Sub
最佳答案
您已经初始化了 objMyRecordset,但从未向其中填充数据。然后您尝试将数据从 objMyRecordset 导入到您的 Excel 文件中,但这是行不通的。
首先确保您已填充记录集,然后只调用 CopyFromRecordset。
关于sql-server-2005 - 出现错误 430 : Automation error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083025/