>hatena様 ご回答いただきありがとうございます!また、URLも教えていただきありがとうございます。 確かにクエリを間に挟まずに、直接テーブルに繋げた方が無駄がなさそうです…
色々と調べてみたのですが、連結フォームを用いた登録方法は 下記の画像のようなフォームで、一件ずつレコードを登録していくやり方が主流のようでした。 hatena様が想定されているのは以下のようなフォームで合っておりますでしょうか…?
ご回答いただいた内容を上手く汲み取れず申し訳ありません…
画像は下記のアップロードボタンでアップロードするとページ内に表示できますので、それを利用してください。 詳細は下記を参照してください。 Microsoft Access 掲示板 の使い方 Microsoft Access 掲示板 - zawazawa
下記のように表示できます。
最初の画像のようにするなら、 メインフォームは非連結にする。 T_顧客マスタから連結フォームを作成。 T_月額マスタとT_契約マスタを結合させてクエリから連結フォームを作成。 この2つのフォームをサブフォームとして埋め込むという設計にするといいと思います。 メインフォームの「すべて入力」ボタンで指定した期間のデータをVBAで追加するとようにします。
VBAは必要になりますが、すべて非連結でするより、設計もシンプルだしコード量もはるかに少なくなります。 ただ、Accessのフォームに扱いに慣れている必要があります。 Accessの初心者なら、まずは入門書か入門サイトで基本のフォーム設計を習得しておくといいでしょう。
T_顧客マスタ の方はサブフォームではなくてリストボックスにしてもいいでしょう。 ユーザーはリストボックスで顧客を選択することができます。
不適切なコンテンツとして通報するには以下の「送信」ボタンを押して下さい。 現在このグループでは通報を匿名で受け付けていません。 管理者グループにはあなたが誰であるかがわかります。
どのように不適切か説明したい場合、メッセージをご記入下さい。空白のままでも通報は送信されます。
通報履歴 で、あなたの通報と対応時のメッセージを確認できます。
Accessのテーブルやクエリのデータを貼り付ける場合は下記で、Markdown書式のテーブルに変換して貼り付けてください。
Markdown Tables generator
回答の前に
画像は下記のアップロードボタンでアップロードするとページ内に表示できますので、それを利用してください。
詳細は下記を参照してください。
Microsoft Access 掲示板 の使い方 Microsoft Access 掲示板 - zawazawa
下記のように表示できます。
回答
最初の画像のようにするなら、
メインフォームは非連結にする。
T_顧客マスタから連結フォームを作成。
T_月額マスタとT_契約マスタを結合させてクエリから連結フォームを作成。
この2つのフォームをサブフォームとして埋め込むという設計にするといいと思います。
メインフォームの「すべて入力」ボタンで指定した期間のデータをVBAで追加するとようにします。
VBAは必要になりますが、すべて非連結でするより、設計もシンプルだしコード量もはるかに少なくなります。
ただ、Accessのフォームに扱いに慣れている必要があります。
Accessの初心者なら、まずは入門書か入門サイトで基本のフォーム設計を習得しておくといいでしょう。
T_顧客マスタ の方はサブフォームではなくてリストボックスにしてもいいでしょう。
ユーザーはリストボックスで顧客を選択することができます。