演習32 「DAO」 の解説 その2
演習31 と同様、最初に Excel VBA の VBエディタ において、次の設定を行う。
VBE - ツール - 参照設定 - (レ)Microsoft DAO 3.6 Object Library
標準モジュールに以下のプロシージャを記述し実行すると、Access のテーブル
上のデータを、Excel シート上に転記することができる。
<== 
Sub excel_access4()
Dim dbs As DAO.Database 'アクセス ファイル指定
Dim rcs As DAO.Recordset 'アクセス テーブル指定
Dim wst As Excel.Worksheet 'エクセル ワークシート
Dim rng As Excel.Range 'エクセル 全範囲
'例として acctest2.mdb の テーブル4 から読み込む
Set dbs = OpenDatabase(Name:=ActiveWorkbook.Path & _
"\" & "acctest2.mdb")
'Set dbs = DBEngine.OpenDatabase(Name:="C:\acctest2.mdb")
With dbs 'テーブルを開く
Set rcs = .OpenRecordset("テーブル4", dbOpenSnapshot)
With rcs
Set wst = Worksheets("Sheet1") 'ワークシート1 に書き込み
'Set wst = Worksheets.Add 'ワークシート追加
Set rng = wst.Range(Cells(2, 1), _
Cells(.RecordCount + 1, .Fields.Count))
'1行目は列名
rng.CopyFromRecordset rcs 'エクセルにデータ書き込み
End With
.Close
End With
Set rcs = Nothing
Set dbs = Nothing
End Sub
DAO その1 へ戻る.
DAO その3 へ移る. back top