MS Access Tips/Sample and VBA and Blog customize etc...

複数のフィールドの組み合わせで重複がないようにする

複数のフィールドの組み合わせで重複がないようにしたい、あるいは、主キーとして利用したい、という場合があります。

例えば、

販売先CD別商品CD別価格設定のテーブルで、一つの販売先CDで、同じ商品CDの入力を防ぎたい。

学校の生徒マスターで、

学生番号(主キー)、氏名、学年、クラス、出席番号

というようなフィールド構成で、学年、クラス、出席番号 で重複がないようにしたい。

ホテルや旅館の 予約管理テーブルで、室番号、日付 で重複がないようにしたい。

などです。

難易度:

複数フィールド主キー

これは、テーブルのデザインビューでの設定で簡単にできます。

最初の価格設定テーブルを例に説明します。

テーブルのデザインビューで、Ctrlキーを押しながら販売先CDと商品CDフィールドの左端のセレクタをクリックして複数選択します。そしてツールバーの主キーボタン(鍵アイコン)をクリックします。これで、販売先CDと商品CDフィールドで複数フィールド主キーが設定されます。

TblMltFldKey.gif

これで、同じ販売先で、既に存在する商品を入力するとエラーメッセージが表示され登録を拒否します。

複数フィールドインデックス

主キーは別にあるが、複数フィールドの組み合わせで重複を禁止したいという場合もありますね。そういうときはインデックスを利用します。

上記の生徒マスターを例に説明します。

ツールバー(リボン)の[インデックスキー]ボタンをクリックしてインデックス設定ダイアログを表示させます。

インデックス名を入力して、その横のフィールド名列に、組み合わせたいフィールド名を順に追加していきます。

インデックスプロパティの「固有」を「はい」にします。

TblMltFldKey.gif

これで、学年、クラス、出席番号 の組み合わせで重複するものを入力するとエラーメッセージが表示され登録を拒否します。


拍手する

Leave a reply






Trackbacks

trackback URL
http://hatenachips.blog34.fc2.com/tb.php/26-88be5506
該当の記事は見つかりませんでした。