質問: ### 太字で表している内訳取引額の小計表示 現在表形式のフォームが下記の表状態となっております。 | 社員番号 | 伝票番号 | 内訳取引額 | | 社員番号 | 合計取引額 | | --- | --- | --- | --- | --- | --- | | 2220 | 99999 | **10,000** | | 2220 | **10,000** | | 2225 | 99999 | **1,000** | | 2225 | **1,000** | フォームのレコードソースは ``` SELECT [テーブルB].[社員番号] AS テーブルB_社員番号, [テーブルB].[取引金額] AS TテーブルB_取引金額, [テーブルB].[伝票番号], [テーブルA].[社員番号] AS テーブルA_社員番号, [テーブルA].[取引金額] AS テーブルA_取引金額 FROM テーブルB INNER JOIN テーブルA ON [テーブルB].[社員番号] =[テーブルA].[社員番号]; ``` となっており、左3つがテーブルBで、右2つがテーブルAです。 テーブルBの社員ごとの内訳取引額の合計値をフォームのテキストボックスに表示させるにはどのような処理が必要でしょうか? ### 変更後のフォーム画面【予定】 最終的には、 | 社員番号 | 伝票番号 | 内訳取引額(A) | | 社員番号 | 合計取引額(B) | | 小計額(C) | 過不足(D) | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 2220 | 99999 | **5,000** | | 2220 | **10,000** | | 10,000 | 0 | | 2220 | 99999 | **5,000** | | 2225 | **1,000** | | 1,000 | 0 | | 2225 | 99999 | **500** | | | | | | | | 2225 | 99999 | **500** | | | | | | | 『A列の社員ごとの小計額』を『C列』に表示し、『C列の各社員のデータ』-『B列の各社員のデータ』を『D列』に表示させる予定です。 全てテキストボックスです。
回答: ご希望の最終フォーム画面は、 2行目の社員番号が 2220 と 2225 というように全く関連がないものになっています。 このような出力はクエリの結合では不可能です。 左3列のフォームと右4列のフォームを別に作成して、非連結のフォームにサブフォームとして並べて埋め込むという設計になります。 左3列のフォームのレコードソースは`テーブルB` 右4列のフォームのレコードソースはは提示のクエリを集計クエリにして作成します。 レポートなら、下記のような出力結果にすることも可能です。 このほうが分かり安い表示だと思いますがいかがでしょうか。 | 社員番号 | 伝票番号 | 内訳取引額(A) | 社員番号 | 合計取引額(B) | 小計額(C) | 過不足(D) | | --- | --- | --- | --- | --- | --- | --- | | 2220 | 99999 | 5,000 | 2220 | 10,000 | 10,000 | 0 | | 2220 | 99999 | 5,000 | | | | | | 2225 | 99999 | 500 | 2225 | 1,000 | 1,000 | 0 | | 2225 | 99999 | 500 | | | | | レポートでもいいということなら、コメントいただければ方法を提示します。