DAO DAOを使用しMDBデータをシートにインポート

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。


Option Explicit

Sub DAOを使用しMDBデータをシートにインポート()
'*****************************************
'DAOを使用しMDBデータをシートにインポート
'*****************************************
'VBEメニュー
'「ツール」→「参照設定」→ "Microsoft DAO 3.6 Object Library"チェック
    Dim MYSHT As Worksheet
    Dim MDBオブジェクト As Database
    Dim テーブル名 As String
    Dim MDB名 As String
    Dim レコード As Recordset
    Dim レコード数 As Integer
    Dim エスキューエル As String
   
    'データベースファイルフォルダーパス
    ChDir "C:\My Documents\データベースフォルダ"
    '「ファイルを開く」ダイアログ表示("データベースファイル(*.mdb))
    MDB名 = Application.GetOpenFilename("データベースファイル(*.mdb),*.mdb")
    '上記で[キャンセル]が押されたらプロシージャを終了
    If MDB名 = "False" Then Exit Sub
    '変数に指定シートSET
    Set MYSHT = ThisWorkbook.Worksheets("Sheet1")
    'シート全体をクリア
    MYSHT.Cells.Clear
    
    Set MDBオブジェクト = OpenDatabase(MDB名)
    
    エスキューエル = "SELECT * FROM " & "Sheet1" & ";"

    Set レコード = MDBオブジェクト.OpenRecordset(エスキューエル)
    
    With MYSHT
       For レコード数 = 1 To レコード.Fields.Count
           .Cells(1, レコード数).Value = レコード.Fields(レコード数 - 1).Name
       Next レコード数
       .Range("A2").CopyFromRecordset レコード
    End With
    
    レコード.Close
    MDBオブジェクト.Close
    
    Set レコード = Nothing
    Set MDBオブジェクト = Nothing
    Set MYSHT = Nothing
    
End Sub

 

2000年01月01日|[VBサンプルコード]:[DAO]