2012-04-10 23 views
2

次のスクリプトでdbaを使用してExcelにSQLを取得する作業中(一部のdb情報を保護するために検閲されますが、スクリプトの一部は機能します)コンパイルすると、エラー430:クラスはオートメーションをサポートしていないか、予測したインターフェースに私はExcel 2007の、VBA 6.5およびSQLここでは2005エラー430:オートメーションエラー

を使用しています

をサポートしていないあなたはobjMyRecordset決して初期化されている

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

このスクリプトがどのように機能するかを確認するのは難しいです。 1つは、接続文字列が[ここ](http://www.connectionstrings.com/sql-server-2005)と一致しません。コンパイルエラーはどの行ですか? – Fionnuala

答えて

2

スクリプトですそれにデータを入力します。次に、objMyRecordsetからエクセルファイルにデータをインポートしようとしていますが、これはうまくいかないでしょう。

最初にレコードセットを埋めたことを確認してから、CopyFromRecordsetを呼び出すようにしてください。

関連する問題