
2 つのテーブルと 1 つのフォームを含む Access データベースがあります。
フォームは、データ入力の目的でテーブルの 1 つにリンクされています。
私は持っている:
LIVEDB
これはライブ顧客情報の表です。LIVEDBINPUT
情報を入力するフォームLIVEDB
CANCELLATIONDB
これは単なるテーブルです。誰かがキャンセルすると、そこから切り取っLIVEDB
て に貼り付けるだけですCANCELLATIONDB
。
フォーム内の重複を防ぐためのさまざまなルールがありますが、最近、フォームがテーブルからの重複を防止しておらず、テーブルのみが重複を防止しているLIVEDBINPUT
という問題が発生しました。LIVEDBINPUT
CANCELLATIONDB
LIVEDB
LIVEDB
電話番号がすでに表に表示されている場合は、フォームに電話番号を入力できないようにしたい。またはテーブルCANCELLATIONDB
。
次のような内容のメッセージボックスが表示されるように設定できれば、「この電話番号は既にLIVEDB
またはに存在しますCANCELLATIONDB
」そして、ユーザーをそのレコードに移動するか、削除するかを選択できるオプションがあれば理想的です。
1 つのテーブルの複数の列でこれを実現する方法については多くの情報を見つけましたが、両方のテーブルからの重複を防ぐ方法、つまり、フォームが 2 つのテーブルのいずれかに既に存在する重複を作成しないようにする方法がわかりません。
答え1
テーブルとテーブルUNION
の両方に保存されているすべてのレコードを生成するクエリを作成し、新しいレコードを保存する前にこのクエリで既存のレコードをテストします。LIVEDB
CANCELLATIONDB
CANCELLATIONDB
テーブルの構造が自分のテーブルと同一であると仮定するとLIVEDB
(レコードを一方から他方へ移動しているため)、UNION
クエリは次のようになります。
SELECT * FROM LIVEDB UNION SELECT * FROM CANCELLATIONDB