|
小項目テーブルのBさんのID値を「1,2」のように入力したら、
データベースとしてまるで使い物にならなくなってしまいます。
データベースでは、1セルにつき値は1つだけにします。
このようにした状態を、第1正規形と言います。
データベースでは、「テーブルを正規化しなければならない」とよく言われますが、
テーブルの正規化の第1歩目です。
この観点からすると、
小項目コンボボックスのRowSourceとなるクエリ又はテーブルは、
Aさん ID1
Bさん ID1
Bさん ID2 ←
Cさん ID2
Dさん ID4
という形になっている必要があります。
ただ、小項目テーブルは、
おそらくは、氏名についてのマスタ・テーブルなのでしょうから、
Bさんのレコードが2つあるというのは、まずいですよね。
そこで、一工夫する必要があります。
その前提として、大項目テーブルと小項目テーブルの対応関係、
つまり、一対一か、一対多か、多対一か、多対多かということを
まず考えてみてください。
私の体験では、この関係を考えるときは、頭で考えるだけでは不十分であり、
紙に図を書いて、各テーブルのレコードを結ぶ線を引いて考えないとダメでした。
私がアクセスをいじりだして数年の間は、
テーブルの関係が一対一なのか、一対多なのかということを
全く考えなかったのですが、
近時、それをきちんと把握しないと進まないという事態に遭遇しました。
テーブル相互の関係が一対一なのか、一対多なのかを把握することは
テーブル設計の基本のようです。
|
|