2 Stimmen

Fehler 430 wird angezeigt: Automatisierungsfehler

Ich arbeite an immer SQL in Excel mit VBA mit dem folgenden Skript (zensiert, um einige DB-Informationen zu schützen, jedoch die Teile des Skripts Arbeit) Wenn ich gehen, um zu kompilieren, erhalte ich die Run Time Error 430: Class Does not support Automation or does not support expected interface

Ich verwende Excel 2007, VBA 6.5 und SQL 2005

Hier ist das Skript

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

2voto

Pradeep Kumar Punkte 6622

Sie haben das objMyRecordset initialisiert, aber nie Daten in das Set eingegeben. Dann versuchen Sie, Daten aus objMyRecordset in Ihre Excel-Datei zu importieren, was nicht funktionieren wird.

Stellen Sie zunächst sicher, dass Sie das Recordset gefüllt haben, und lassen Sie dann nur CopyFromRecordset aufrufen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X