前提
ACCESS上でクエリを実行する際に、添付画像のような画面でドライバに接続してから実行結果を取得しています。
このクエリの実行結果をExcel VBAで処理したいため、VBAでACCESSに接続し、クエリを実行したいと考えています。
実現したいこと
Excel VBAを用いて、Oracle ODBCの接続込でACCESSクエリを実行したいです。
同じACCESSファイル内には、Oracle ODBCの接続なしで実行できるクエリもありますが、そのクエリは下記の該当のソースコードで実行できます。今回のクエリも同様にVBAで実行して、結果をExcelファイルに貼り付けたいです。
該当のソースコード
VBA
1Private Sub Sample() 2 3 Dim cnn As ADODB.Connection 4 Dim rst As ADODB.Recordset 5 Dim cmd As ADODB.Command 6 7 Dim count As Integer 8 9 ' コネクションをセットし、Accessを開く 10 Set cnn = New ADODB.Connection 11 cnn.Provider = "Microsoft.Ace.OLEDB.12.0;" 12 ' Accessファイルを設定する 13 cnn.Open "C:\sample.accdb" 14 15 ' コマンドをセット 16 Set cmd = New ADODB.Command 17 Set cmd.ActiveConnection = cnn 18 19 cmd.CommandText = "クエリ1" ' クエリを設定 20 21 'レコードセットをセットし、パラメータを指定して実行 22 Set rst = New ADODB.Recordset 23 Set rst = cmd.Execute() 24 25 'レコードを貼り付ける 26 Sheets("新規登録アイテム").Range("A" & count + 1).CopyFromRecordset rst 27 28End Sub
試したこと
ACCESSファイルの接続の際に、パスワードを指定してみましたがうまくいきませんでした。
cnn.Provider = "Microsoft.Ace.OLEDB.12.0;" & "Jet OLEDB:Database Password=Pass;"
回答1件
あなたの回答
tips
プレビュー