ADOを使ったサンプルです。参考程度に見てください。
ファイル名:Data.mdb
テーブル名:DataTable
.mdbファイルで試験済み、Excelは2010です。.accdbdは未確認。
利用時は参照設定より「Microsoft ActiveX Data Object XXX Library」を
登録する必要があります。
SQL文の項目名称とAccessテーブル項目名称は一致する必要あり。
上手く行かない場合はSQL文をSELECT * FROM DataTable;で試して下さい。
ファイルData.mdbはExcelと同一フォルダから読み込みます。
尚、CDate/Cstr入れていますが入れなくともExcel側が勝手に判断してセットする筈ですが、参考に書き加えました。
ExcelVBA
1'***********************************************************
2' ACCESS単純読み込み試験
3'*************************************************************
4Function Test_Sample_Miniature() As Boolean
5
6 Dim Cn As ADODB.Connection
7 Dim Rs As ADODB.Recordset
8 Dim ConnectString As String
9 Dim strSQL As String
10 Dim MyPath As String
11 Dim lRow As Long
12
13 '自分フォルダのAccessFile名称取得
14 MyPath = ThisWorkbook.Path & "\" & "Data.mdb"
15
16 'db1.mdbの取得
17 ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data"
18 ConnectString = ConnectString & " Source=" & MyPath
19 ConnectString = ConnectString & ";Persist Security Info=False"
20
21 'DataTableはテーブル名称/KUBUNN~UPDYMDは項目名称
22 strSQL = ""
23 strSQL = strSQL & "SELECT " & vbLf
24 strSQL = strSQL & "KUBUNN," & vbLf
25 strSQL = strSQL & "MEISCD," & vbLf
26 strSQL = strSQL & "MEISYO," & vbLf
27 strSQL = strSQL & "COMENT," & vbLf
28 strSQL = strSQL & "TORYMD," & vbLf
29 strSQL = strSQL & "DELYMD," & vbLf
30 strSQL = strSQL & "UPDYMD " & vbLf
31 strSQL = strSQL & "FROM DataTable" & vbLf
32 strSQL = strSQL & ";"
33
34 'Open ADODB
35 Set Cn = New ADODB.Connection
36 Cn.Open ConnectString
37
38 'Open Recordset
39 Set Rs = New ADODB.Recordset
40 Rs.Open strSQL, Cn, adOpenKeyset, adLockReadOnly
41
42 ErrPosition = "実行処理"
43 '実行処理
44
45 lRow = 0
46 Do Until Rs.EOF = True Or Rs.BOF = True
47 '
48 lRow = lRow + 1
49 Cells(lRow, 1) = CStr(Rs.Fields("KUBUNN"))
50 Cells(lRow, 2) = Rs.Fields("MEISCD")
51 Cells(lRow, 3) = Rs.Fields("MEISYO")
52 Cells(lRow, 4) = Rs.Fields("COMENT")
53 Cells(lRow, 5) = CDate(Rs.Fields("TORYMD"))
54 Cells(lRow, 6) = CDate(Rs.Fields("DELYMD"))
55 Cells(lRow, 7) = CDate(Rs.Fields("UPDYMD"))
56 Rs.MoveNext
57 '
58 Loop
59
60 'オブジェクトの開放。
61 Rs.Close
62 Cn.Close
63 Set Rs = Nothing
64 Set Cn = Nothing
65
66 ACCESS単純読み込み試験 = True
67
68End Function