| 
    
     |  | Access2000です。 複数のPCからテーブルにデータを登録したいので、
 テーブルのopen時にロックを掛けているつもりなのですが、
 どうもダーティーリードされているようで、うまく更新されません。
 解決法を教えて下さい。
 
 一部、省略していますが以下の様にコーディングしています。
 
 Dim dbs As Database
 Dim rstCNT As Recordset
 Dim INDEX As Long
 
 On Error Resume Next
 Do
 Err.Number = 0
 Set dbs = Nothing
 Set dbs = Workspaces(0).OpenDatabase("データベースパス")
 Set rstCNT = Nothing
 Set rstCNT = DAO_db1.OpenRecordset("テーブル", dbOpenTable, dbDenyRead, dbPessimistic)
 Loop Until Err.Number = 0
 
 rstCNT.INDEX = "PrimaryKey"
 rstCNT.Seek "=", 1    ←レコードは1件しかなく1が固定でユニークに成っています。
 If rstCNT.NoMatch = False Then
 INDEX = Nz(rstCNT!項目名, 0) + 1 ←同時に実行された場合、ここでINDEXに同じ値がセットされる場合があります。
 rstCNT.Edit
 rstCNT!項目名 = INDEX ←2度、実行されているのに1しか増えていない場合があります。
 rstCNT.Update
 End If
 
 Set rstCNT = Nothing
 Set dbs = Nothing
 
 宜しくお願い致します。
 
 |  |