2

我正在使用带有以下脚本的 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
4

1 回答 1

2

您已初始化 objMyRecordset 但从未向其中填充数据。然后您尝试将数据从 objMyRecordset 导入您的 excel 文件,这将不起作用。

首先确保您已经填写了记录集,然后才让 CopyFromRecordset 被调用。

于 2012-04-10T10:15:52.897 回答