複数のユーザーによる変更の調整
環境によっては、複数のユーザーが同一のオブジェクトを同時に変更することがあります。たとえば、ユーザーがテーブル デザイナーまたはデータベース ダイアグラム デザイナーでオブジェクトの構造を変更したり、クエリ デザイナーおよびビュー デザイナーの結果ペインの値を変更したりすることがあります。このような状況では、解決する必要のある競合が発生する可能性があります。
テーブル デザイナーまたはデータベース ダイアグラム デザイナーでの競合
たとえば、テーブル デザイナーでテーブルを操作しているときに、他のユーザーが同じテーブルまたは関連するテーブルを削除したり、名前を変更したりする可能性があります。テーブルを保存しようとすると、[データベースの変更を確認] ダイアログ ボックス (データベース デザイナー) が表示され、テーブルを開いた後でデータベースが更新されていることが通知されます。
このダイアログ ボックスには、テーブルを保存する結果として影響を受けるデータベース オブジェクトの一覧も表示されます。この時点で、次のいずれかの処理を実行できます。
[はい] をクリックしてテーブルを保存し、データベースを更新して一覧のすべての変更を反映する。
この操作は、同じデータベース オブジェクトを共有するテーブルに影響を及ぼす可能性があります。たとえば、titleauthors テーブルの au_id 列を編集しているときに、他のユーザーが、au_id 列によって titleauthors テーブルと関連付けられている authors テーブルを操作しているとします。このテーブルを保存すると、他のユーザーのテーブルが影響を受けます。同様に、別のユーザーが sales テーブルの qty 列に CHECK 制約を定義する可能性があります。qty 列を削除して sales テーブルを保存すると、最初のユーザーの CHECK 制約が影響を受けます。
[いいえ] をクリックして、操作を取り消す。
変更を保存せずにテーブルを閉じることができます。テーブルを再度開くと、そのテーブルにはデータベースの現在の内容が反映されます。
[テキスト ファイルを保存] をクリックして、変更の一覧を保存する。
[データベースの変更を確認] ダイアログ ボックスに表示されるデータベース変更情報の一覧をテキスト ファイルに保存しておき、他のユーザーが行った変更の理由を調査できます。たとえば、削除することにしたテーブルを他のユーザーが編集していた場合、データベースを更新する前にテーブルを削除する必要があるかどうかを調べることができます。
クエリおよびビュー デザイナーでの競合
クエリを実行するか、ビューの結果を返すと、結果ペインにデータが表示されます。複数のユーザーが同じデータセットを同時に操作すると、競合が発生する場合があります。
たとえば、他のユーザーと同時に titleauthors テーブルの全データを表示するクエリを実行するとします。他のユーザーが、最初に返されるレコードの名前を Barb から Barbara に変更するとします。この時点で、データベースの該当するフィールドの値は Barbara ですが、こちら側に表示されている結果セットは Barb のままです。ここで、「Barbara」と入力して、行の外側をクリックします。クリックすると、競合の解決方法をたずねるメッセージが表示されます。
[はい] をクリックし、データベースを更新して変更を反映する。
他のユーザーの変更はオーバーライドされます。
[いいえ] をクリックし、結果セットをデータベースの現在の内容と同じものにする。
こちら側の変更が他のユーザーの変更によってオーバーライドされます。
[キャンセル] をクリックして、競合を解決せずに編集を続ける。
この場合、変更をデータベースにコミットできません。
参照
処理手順
関連項目
[データベースの変更を確認] ダイアログ ボックス (データベース デザイナー)