> 複数のクエリから一つのフォームは作成できないのでしょうか?
可能です。
但し、その場合は、フォームの『レコードソース』は、テーブル名やクエリ名ではなく、SQL文になります。
(レコードソースを指定せずに新規フォームを作成した後、フォームのプロパティシートを表示させ、
『データ』タブの『レコードソース』にカーソルを移動し、右端に出る「...」(ビルダボタン)をクリックすると、
クエリのデザインビューと同じものが表示されます。
そこで複数のクエリとそのフィールドなどを追加し、編集を保存して閉じると、『レコードソース』の欄に、
デザインビューで編集した内容に相当するSQL文が表示されます)
> テーブルを分割する必要性
『商品』テーブル
品名 種別
りんご くだもの
だいこん やさい
なし くだもの
みかん くだもの
にんじん やさい
上記のようなデータを必要とする場合、以下のようにテーブルを分割しておくと、「入力できる種別を
種別テーブルにあるものに限定する」といったことが容易になります。
(コンボボックスを使用し、その『入力チェック』プロパティを「はい」に設定)
『商品R』テーブル:
品名 種別ID
りんご 1 →(コンボボックスを使用して「くだもの」と表示)
だいこん 2 →(コンボボックスを使用して「やさい」と表示)
なし 1
みかん 1
にんじん 2
『種別』テーブル:
種別 種別ID(主キー)
くだもの 1
やさい 2
また、「くだもの」「やさい」をそれぞれ漢字に統一するといった場合も、テーブルを上記のように分割して
いれば、『種別』テーブルのレコード(→2件)を編集するだけで、『商品R』テーブルはいじらずにすみます。
(『商品』テーブル1つにまとめている場合は、そのテーブルの全レコード(→5件)を編集する必要がある:
単純な例を挙げているので、「置換」を行えばそれほど手間はかからない状態ですが・・・)
さらに、上記のようにしておくと、比較的データサイズが大きい「テキスト型」のレコード数が減らせるため、
データが軽くなる(結果、動作も軽くなる)、という利点もあります。
お礼
分かりやすい説明ありがとうございます。 レコードソースに関することを、持っている解説書で探してみましたが載っていませんでした^^; > テーブルを分割する必要性 定形で決まっている物に関して使うと手間が省ける 分割する事でデータが軽くなると言う事ですね。