VBからADOでMDBにアクセスする

参照設定で「Microsoft ActiveX Data Objects X.X Library」を追加する
CurrentProject.BaseConnectionStringを常時使用すると様々なAccess本来の機能に不具合が出るので、排他ロックが必要な場合以外は大人しくCurrentProject.Connectionを使用するのが良いと思う。正直、AccessでADO使うの面倒くさい。

Dim connection As ADODB.connection
Dim recordset As ADODB.recordset

'ACCESS以外からの接続はこっちを使う
'Set connection = New ADODB.connection
'2000~2003
'connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb"
'2007~
'connection.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.accdb"

'ACCESS内の接続はこっちを使う
Set connection = New ADODB.Connection
connection.ConnectionString = CurrentProject.BaseConnectionString
connection.Open

Set recordset = New ADODB.recordset

recordset.Open "SELECT * FROM test;", connection, adOpenKeyset, adLockPessimistic

Do While recordset.EOF = False
    Debug.Print recordset.Fields(0).Value
    Debug.Print recordset.Fields("column").Value
    recordset.MoveNext
Loop

recordset.Close
connection.Close

Set recordset = Nothing
Set connection = Nothing