演習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