| 
    
     |  | クエリ1ですが、一対多のテーブルから成るクエリだと思います。 つまり、一側テーブルは、その名前が例えばT請求書、フィールドがID、注文日、支払予定日、
 多側テーブルは、その名前が例えばT請求明細、フィールドが明細ID、ID、金額、備考
 となっているはずです。
 これは、好みの問題ではなく、蓄えるデータの性質上、理論に見て、
 よほど特殊な事情がない限り、
 こういうテーブル構成になるはずだというレベルのものです。
 
 
 次に、クエリから入力しているとのことですが、感心しません。
 データベースでは、レコードの入力はフォームで行うものです。
 テーブルやクエリを開いてそこに入力するということは、
 むしろやってはいけないことと言っても過言ではありません(テストのときだけは別)。
 
 エクセルでは、データの格納も、データの計算も、データの入力・訂正も、データの表示も、
 データの印刷も全てワークシートで行いますが、
 アクセスの場合は、それぞれ異なったオブジェクトで行います。
 データの格納はテーブル、データの計算はクエリ、データの入力・訂正・表示はフォーム、
 データの印刷はレポートで行います。
 
 確かに、テーブルやクエリでレコードの入力をすることもできますが、
 元々が入力のためのオブジェクトではないので、人間にとって使いやすい入力の仕方は望めません。
 
 
 一対多のテーブルへデータを格納する場合、
 メイン/サブの形式のフォームを使って常道です。
 
 つまり、メインフォームに、上例でいえばT請求書のレコードを表示させ、
 サブフォームに、上例におけるT請求明細のレコードを表示させます。
 この場合、サブフォームには、メインフォームに表示されたレコードと紐付けられたレコードだけを
 表示するようにするのが一般です。
 
 
 どうしても、
 >ID|注文日  |支払予定日 |請求書番号|金額|備考
 >1|2016/1/4 |2016/2/29 |AZP00001 |4800|あああああ
 >2|2016/1/15 |2016/3/31 |AZP00002 |2900|えええ
 >3|2016/2/1 |2016/3/31 |AZP00003 |4260|かかかか
 という形で入力したいというならば、ワークテーブルを使います。
 
 ワークテーブルというのは、一時的にデータを保管するためのテーブルのことです。
 通常、フォームを開くときに、
 1 ワークテーブルの初期化としてワークテーブルの全レコードを削除し、
 2 追加クエリによりテーブルからワークテーブルにレコードを読み込み、
 3 ワークテーブルをレコードソースとするフォーム上でレコードを入力・訂正し、
 4 フォームを閉じるときに、元のテーブルにワークテーブルからレコードを戻します。
 戻し方にはいろいろありますが、最も単純なのは、
 ワークテーブルに読み込んだレコードを元テーブルから全て削除し、
 ワークテーブルから元テーブルに、ワークテーブルの全レコードを追加するという手法です。
 
 ワークテーブルは、比較的よく使われる手法ですが、
 レコードの削除と追加を繰り返すため、ファイル破損の可能性が少し高まるとも言われており、
 他の方法(メイン/サブのフォームなど)が使えるなら、避けたいところです。
 
 
 テーブル作成クエリは論外です。
 テーブルそのものの新規作成や削除を繰り返すと、ファイル破損の可能性が飛躍的に高まるため、
 この方法はほとんど禁じ手です。
 
 |  |