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


参照設定で「Microsoft Office X.X Access database engine Object Library」を追加
DAOはRecordset.Editでレコードロックされ、Recordset.Updateでロック解除される。DAOはロック関連がとても使いやすくて良い。Accessで開発をする場合はADOではなくDAOを使っておいた方が後々助かる事が多いな。

Dim database As DAO.database
Dim recordset As DAO.recordset
Dim sql As String

'Access外部からの場合
'Dim workspace As DAO.workspace
'Set workspace = DBEngine.Workspaces(0)
'Set database = workspace.OpenDatabase("C:\test.mdb")

'Access内部からの場合
Set database = CurrentDb

sql = "SELECT * FROM test;"
Set recordset = database.OpenRecordset(sql, dbOpenDynaset)

recordset.Edit

recordset.Fields("column").Value = "値"
recordset.Update

recordset.Close
database.Close
'workspace.Close

Set recordset = Nothing
Set database = Nothing
'Set workspace = Nothing