获取错误430:自动化错误

时间:2012-04-10 04:11:46

标签: sql-server-2005 excel-vba vba excel

我正在使用带有以下脚本的vba将SQL导入Excel(审查以保护一些数据库信息,但是脚本的部分工作)当我去编译时,我得到运行时错误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 个答案:

答案 0 :(得分:2)

您已初始化objMyRecordset但从未将数据填入其中。然后,您尝试将objMyRecordset中的数据导入到excel文件中,这将无效。

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