0
私はAccessデータベースに新しいエントリを自動的に追加できるExcelマクロを作成しています。複数のユーザー環境でDAOレコードセットaddnewを使用する
Excelマクロを実行するために複数のユーザーが同時にボタンを押すと、Accessは自動的にデータベースを更新して競合を回避できますか?
私が使用する予定のサンプルコード:
Function AddName(rstTemp As Recordset, _
strFirst As String, strLast As String)
' Adds a new record to a Recordset using the data passed
' by the calling procedure. The new record is then made
' the current record.
With rstTemp
.AddNew
!FirstName = strFirst
!LastName = strLast
.Update
.Bookmark = .LastModified
End With
End Function
です。次に、2人のユーザーが同時にコードを実行すると、1人のユーザーがテーブルのレコードを1つ選択して新しいレコードを追加し、別のユーザーがテーブルの次のレコードを選択して新しいレコードを追加するようにコードを構成する必要があります。 ちょっとした背景 - 私は、MS Accessがスプレッドシートを更新する際にラストローを同時に選択するという問題を克服できたと当初考えていました。それが私がここで達成しようとしているものです。 – Azythe
新しい_を追加するためにレコードを選択しません。新しいレコードを追加するだけです。表はスプレッドシートではありません。 – Gustav
@Gustavご清聴ありがとう!つまり、たとえ10人のユーザーが.addnewメソッドを同時に使用しても、競合は起こりません。 MS Accessは自動的にすべての10レコードをテーブルに挿入します - それらはすべて「新しい」レコードであり、テーブルの既存のレコードを編集していないのでですか? – Azythe