演習35 「ADO」 の解説 その2


演習34 と同様、ADO を使用するために、最初に Excel VBA の VBエディタ に
おいて、次の設定を行う。

標準モジュールに以下のプロシージャを記述し実行すると、Access のテーブル
上のデータを、Excel シート上に転記することができる。

    VBE - ツール - 参照設定 -
     (レ)Microsoft ActiveX Data Objects 2.7 Library


  <== 
'----------------------------------- Sub excel_access5() Dim dbs As New ADODB.Connection 'ADOコネクション Dim rcs As New ADODB.Recordset 'ADOレコードセット Dim mydbF As String 'アクセス ファイル Dim mydbT As String 'アクセス テーブル Dim wst As Worksheet 'アクセス シート '例として acctest2.mdb の テーブル4 から読み込む mydbF = "acctest2.mdb" 'アクセス ファイル指定 mydbT = "テーブル4" 'アクセス テーブル指定 'アクセスデータベースを指定 dbs.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & ThisWorkbook.Path & _ "\" & mydbF & ";" 'アクセスデータベースを開く rcs.Open Source:=mydbT, _ ActiveConnection:=dbs, _ CursorType:=adOpenKeyset, _ LockType:=adLockOptimistic, _ Options:=adCmdTableDirect 'エクセルシートを指定 Set wst = Worksheets("Sheet1") 'アクセスのフィールド名を エクセル1行目に転記 With rcs For i = 1 To .Fields.Count Cells(1, i).Value = .Fields(i - 1).Name Next i End With 'アクセスのレコードを エクセルシートに転記 With wst .Range("A2").CopyFromRecordset rcs End With rcs.Close dbs.Close Set rcs = Nothing Set dbs = Nothing End Sub '----------------------------------- ADO その1 へ戻る. ADO その3 へ移る.                            back top