実現したいこと
Access(2007-2016)で損益管理DBを作成しています。
レポートで数式を用いてレコードの集計を行っているのですが、なかなか思うように計算できなかったため、こちらで質問させていただきます
以下、詳細になります。
テーブルとリレーション
〇使用テーブルは6つで、以下のようにリレーションを組んでいます。
1.T_クライアント---------------
顧客ID:オートナンバー
顧客名:短いテキスト
顧客ID 顧客名
1 ○○商事
2 ○○広告
2.T_受注---------------
受注No:オートナンバー
受注日:日付
顧客ID:数値
受注No 受注日 顧客ID
1 2020/07/01 1
2 2020/08/01 1
3 2020/09/01 1
3.T_受注明細-------------
受注No:数値
業務内容:短いテキスト
予算額:数値
受注No 業務内容 予算額
1 クレーム処理 2000
1 営業代行 1000
2 クレーム処理 500
2 定期清掃 1500
3 クレーム処理 2000
3 定期清掃 1500
3.T_勤怠----------------
勤怠No:オートナンバー
作業日:日付
従業員ID:数値
勤怠No 作業日 従業員ID
1 2020/07/02 1
2 2020/07/03 2
3 2020/08/12 1
4 2020/08/13 1
5 2020/09/28 2
6 2020/09/28 1
5.T_稼働-----------------
稼働No:オートナンバー
勤怠No:数値
クライアントID:数値
業務内容:短いテキスト
稼働時間:数値
稼働No 勤怠No クライアントID 業務内容 稼働時間
1 1 1 クレーム処理 2
2 1 1 営業代行 2
3 2 1 クレーム処理 4
4 3 1 クレーム処理 1
5 4 1 定期清掃 3
6 5 1 クレーム処理 3
7 6 1 定期清掃 1
8 6 1 クレーム処理 3
6.T_従業員------------------
従業員ID:オートナンバー
従業員名:短いテキスト
時間単価:数値
従業員ID 従業員名 時間単価
1 たろう 10
2 はなこ 20
###クエリ
1.クエリ「Q_クライアント別_損益管理」:各月、誰がどのクライアントのどの業務に、どれだけ時間をかけたかのクロス集計クエリ
2.クエリ「Q_予算額」:各月、各クライアントの各業務の予算額はどれくらいかを見るクロス集計クエリ
内容としては、各月、各従業員がある業務にかけた時間を「稼働時間」とし、それに各従業員の時給をかけて「実績額」を出しています。また各月各業務の予算額を「Q_予算額」からDLookUpで持ってきて、「実績額」の合計との差額を「損益」としています。
**今回伺いたいのは黄色で塗りつぶした部分➀➁です。**➃は➀➁が理解できれば解決すると思われるので、黄色➀➁の算出方法を伺いたいです。以下、現状のコードです。
➂のコード =DLookUp("予算額","Q_予算額","クライアントID=" & [クライアントID] & " AND 業務内容='クレーム処理' AND 契約月=[作業月]") ➀のコード =Sum(DLookUp("予算額","Q_予算額","クライアントID=" & [クライアントID] & " AND 業務内容='クレーム処理' AND 契約月=[作業月]")) ➁のコード (➀のコード)-Sum([クレーム処理]*[時間単価])
➂はDlookUpで引っ張ってきたコードなので、「稼働時間」と「実績額」のように単純に上位のグループヘッダー(フッター)でSumすればOKとはならないのだろうというのは分かって気でいるのですが、ではどうすればいいのか糸口が見えず、質問させていただきました。お力添えよろしくお願いいたします。SQLやVBAについては多少の理解があるので、それらを使って解決できるようならそれでも大丈夫です。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 05:06