获取错误430:自动化错误

问题描述:

我正在使用vba通过以下脚本获取SQL到Excel中(审查以保护一些数据库信息,但是脚本的各部分工作)当我去编译时,我得到了运行时错误430:类不支持自动化或不支持预期的接口获取错误430:自动化错误

我使用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 
+1

我很难看到该脚本如何工作。首先,连接字符串不匹配[here](http://www.connectionstrings.com/sql-server-2005)。哪一行给出编译错误? – Fionnuala 2012-04-10 08:10:08

您初始化了objMyRecordset但从来没有填入数据。然后你试图尝试从objMyRecordset导入数据到你的excel文件,这将无法正常工作。

首先确保您已经填满记录集,然后只调用CopyFromRecordset。