Accessのaccdbからデータを取得してシートに表示するマクロです。
まず、Accessでこのようなデータが格納されていたとします。
テーブル名:T_Users
このデータを次のシートに格納してみます。
1行目には列名をあらかじめ入力しています。
では、実際のコードは次のようになります。
Sub GetMdbData() Dim cnn As New ADODB.Connection Dim cmd As ADODB.Command Dim rst As ADODB.Recordset Dim i As Integer cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\work\access\test.accdb" Set cmd = New ADODB.Command With cmd .ActiveConnection = cnn .CommandText = "SELECT ID, ユーザーID, 名前, 備考 FROM T_Users" .CommandType = adCmdText End With 'SQLを実行 Set rst = cmd.Execute i = 2 While rst.EOF = False 'セルにデータを格納 Cells(i, 1).Value = rst!ID Cells(i, 2).Value = rst!ユーザーID Cells(i, 3).Value = rst!名前 Cells(i, 4).Value = rst!備考 'レコードを移動 rst.MoveNext i = i + 1 Wend rst.Close Set rst = Nothing Set cmd = Nothing cnn.Close Set cnn = Nothing End Sub
実行結果
スポンサーリンク