• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2003の集計について)

アクセス2003の集計について

このQ&Aのポイント
  • アクセス初心者が工事管理システムを作成している際に、テーブル「受注」のデータを元に担当者ごとの月ごとの合計金額を計算したい。
  • テーブル「受注」には契約日、工事内容、担当者1、担当者1の売上金額、担当者2、担当者2の売上金額などのデータがある。
  • 担当者が複数人いる工事ごとに、担当者ごとの割合で計算された金額を月ごとに合計し、結果を表示したい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

「月ごとに」という条件を見落としてました。 年月でグループ化するという意味なら、ユニオンクエリを下記のようにして、 SELECT Format(契約日,"yyyy/mm") AS 年月, 担当1 AS 担当, 担当1売上金額 AS 売上金額 FROM 受注 WHERE 担当1 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当2 AS 担当, 担当2売上金額 AS 売上金額 FROM 受注 WHERE 担当2 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当3 AS 担当, 担当3売上金額 AS 売上金額 FROM 受注 WHERE 担当3 <> "" UNION ALL SELECT Format(契約日,"yyyy/mm") AS 年月, 担当4 AS 担当, 担当4売上金額 AS 売上金額 FROM 受注 WHERE 担当4 <> ""; 集計クエリで、 年月 グループ化、担当 グループ化、売上金額 合計 としてください。

akumaou
質問者

お礼

hatena1989さん 丁寧なご説明と回答ありがとうございます。 希望通りに集計出来ました。 今後ユニオンクエリを勉強していきたいと思います。 ありがとうございました。

その他の回答 (3)

回答No.4

補足:データと参照 先の設計には担当順位の管理列がありませんでした。それが、ちょっと気になったので補足します。補足ついでに、先のテーブル構造でNo2さんの回答をもって目的を達成できることを<データと参照との関係>の実例をもって示しておきます。

回答No.2

No1.さんも言われているようにテーブル設計を見直すべきですね。 ただ、そうもいかない場合もあるかもしれませんので、まずは現状のままでいくなら、 クエリの新規作成でテーブルを追加せずにSQLビューにして下記のようにSQL文を記述します。 SELECT 担当1 AS 担当, 担当1売上金額 AS 売上金額 FROM 受注 WHERE 担当1 <> "" UNION ALL SELECT 担当2 AS 担当, 担当2売上金額 AS 売上金額 FROM 受注 WHERE 担当2 <> "" UNION ALL SELECT 担当3 AS 担当, 担当3売上金額 AS 売上金額 FROM 受注 WHERE 担当3 <> "" UNION ALL SELECT 担当4 AS 担当, 担当4売上金額 AS 売上金額 FROM 受注 WHERE 担当4 <> ""; これはユニオンクエリというものになります。 このクエリを元に集計クエリを作成して、 担当 を グループ化、売上金額 を 合計 にすれば希望の結果になります。 可能ならば、No1.さんの図示されたテーブルに変更されることを強くお勧めします。

回答No.1

チラ見で答えます。 だから、非常に短文です。 先ず、感じたのは<テーブル設計を詰めるべ>です。

akumaou
質問者

お礼

f_a_007さん 丁寧な回答ありがとうございます。 テーブルの作り方に問題があるのですね。 しっかり考えてつもりでしたが。。。 まだまだ勉強不足ですね。