ACCESSデータベースへの一番簡単な接続例を紹介します。
DAOを使った例です。
前提条件
○参照設定でMicrosoft DAO *.* Object Libraryを設定しておく必要があります。

○データベースファイルC:\temp\test.mdbにtest_tableが存在するものとします。
○test_tableには、フィールドaaとbbが存在するとします。
Sub data_access()
Dim mydb As DAO.Database
Dim rs As DAO.Recordset
Dim mdb_path As String
mdb_path="C:\temp\test.mdb"
Set mydb = OpenDatabase(mdb_path)
'パスワード設定ロックのされているaccessファイルの場合(パスワードは"AAA"とする)
'Set mydb = OpenDatabase(mdb_path, False, "MS Access;PWD=AAA")
Set rs = mydb.OpenRecordset("test_table")
'レコードが終了するまで繰り返す
Do until rs.EOF
Debug.Print rs!aa
Debug.Print rs!bb
'次のレコードへ移動
rs.MoveNext
LOOP
rs.Close
mydb.Close
'test_table内のデータをすべて削除するSQLの実行。
mydb..Execute "DELETE FROM test_table"
End Sub
上記のサブルーチンを実行するとtest_tableのデータがイミディエイトウィンドウ内に出力され
最後にtest_table内のデータをすべて削除しています。
DAOを使った例です。
前提条件
○参照設定でMicrosoft DAO *.* Object Libraryを設定しておく必要があります。
○データベースファイルC:\temp\test.mdbにtest_tableが存在するものとします。
○test_tableには、フィールドaaとbbが存在するとします。
Sub data_access()
Dim mydb As DAO.Database
Dim rs As DAO.Recordset
Dim mdb_path As String
mdb_path="C:\temp\test.mdb"
Set mydb = OpenDatabase(mdb_path)
'パスワード設定ロックのされているaccessファイルの場合(パスワードは"AAA"とする)
'Set mydb = OpenDatabase(mdb_path, False, "MS Access;PWD=AAA")
Set rs = mydb.OpenRecordset("test_table")
'レコードが終了するまで繰り返す
Do until rs.EOF
Debug.Print rs!aa
Debug.Print rs!bb
'次のレコードへ移動
rs.MoveNext
LOOP
rs.Close
mydb.Close
'test_table内のデータをすべて削除するSQLの実行。
mydb..Execute "DELETE FROM test_table"
End Sub
上記のサブルーチンを実行するとtest_tableのデータがイミディエイトウィンドウ内に出力され
最後にtest_table内のデータをすべて削除しています。