マルチユーザーアクセス環境では、レコードのグループに対してさまざまなアクションを実行する必要がある場合があります。たとえば、Ordersテーブルで、ユーザーが注文のグループを削除したり、レコードのグループを印刷したりしたい場合があります。これを実現するために、OrdersテーブルでaSelect( "a" a 「」は、「Select」SQL予約キーワードを回避するためのものです)。[注文]フォームで、ユーザーは[選択]フィールドのチェックボックスをクリックして処理する注文をチェックし、[印刷]、[削除]、またはその他の操作をクリックできます。フォームの背後にあるコードは、すべての注文で操作を処理するように指示しています。WHEREASELECT = TRUE
問題は、(まだ発生していませんが)aSelectチェックボックスがテーブルの基になるフィールドにバインドされており、2人のユーザーが同時にaSelectを変更できることです。したがって、ユーザーAが削除する2つのレコードを選択したが、削除ボタンを押す前に、100レコードを印刷しようとした別のユーザーが100レコードを選択したとします。その結果、意図した結果ではなく、100レコードすべてが削除されます。
解決策や代替案はありますか?このシナリオは、データベース全体で何度も実行されます。Ordersテーブルはほんの一例です。
ありがとう、