Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


180 / 2272 ツリー ←次へ | 前へ→

【12649】集計クエリがうまくいかない おまき 14/11/26(水) 13:34 質問[未読]
【12650】Re:集計クエリがうまくいかない かるびの 14/11/26(水) 15:35 回答[未読]
【12657】Re:集計クエリがうまくいかない おまき 14/12/1(月) 16:19 お礼[未読]
【12658】Re:集計クエリがうまくいかない おまき 14/12/1(月) 16:30 お礼[未読]

【12649】集計クエリがうまくいかない
質問  おまき  - 14/11/26(水) 13:34 -

引用なし
パスワード
   こんにちは、基本的な質問かもしれませんが、よろしくお願いします
集計クエリがうまくいかなくて悩んでいます

SELECT [ID+ID名].[ID+ID名] AS IDコード, テーブルA.日付, [部署CD] & " " & [部署名] AS 部署名CD, [カテゴリ+カテゴリ名].汎用カテゴリ AS カテゴリコード,
Sum(テーブルA.金額) AS 金額の合計, "課税仕入" AS 税区分, Val(8) AS 税率, "A000001" AS 取引先CD, テーブルA.支払日付, テーブルA.備考, テーブルA.No
FROM [カテゴリ+カテゴリ名] RIGHT JOIN ([ID+ID名] RIGHT JOIN テーブルA ON [ID+ID名].ID一覧表 = テーブルA.ID) ON [カテゴリ+カテゴリ名].カテゴリ = テーブルA.カテゴリ
GROUP BY [ID+ID名].[ID+ID名], テーブルA.日付, [部署CD] & " " & [部署名], [カテゴリ+カテゴリ名].汎用カテゴリ, "課税仕入", Val(8), "A000001", テーブルA.支払日付, テーブルA.備考, テーブルA.No, テーブルA.購入理由の最大
HAVING (((テーブルA.購入理由の最大) Not Like "*お歳暮*"));

展開すると、

IDコード 日付   部署名CD カテゴリコード 金額の合計 税区分 税率 取引先CD 支払予定日 備考    No 
A    2014/5/18  1 経理   あああ    500    課税  8  A00001  2014/6/30 あいうえお 5555
B    2014/5/18  1 経理   あああ    600     課税  8  A00001   2014/6/30 あいうえお 6666
B    2014/5/18  1 経理    あああ    250    課税  8  A00001  2014/6/30 あいうえお 6666   
C    2014/5/18  1 経理   あああ    150    課税  8  A00001  2014/6/30 さしすせそ 7777

IDコードのBが集計されて「金額の合計」 のフィールドが850になってほしいのになりません
何がおかしいのかご指摘よろしくお願いします

※[購入理由の最大]フィールドは不可視です
よろしくお願いします

【12650】Re:集計クエリがうまくいかない
回答  かるびの  - 14/11/26(水) 15:35 -

引用なし
パスワード
   >何がおかしいのかご指摘よろしくお願いします
 IDコードがBであるレコードのうち、
「金額の合計」フィールドの値が600であるレコードと250であるレコードとでは、
「購入理由の最大」フィールドの値が異なっているからではないでしょうか。

 もし、そうであれば、GROUP BY 句から「購入理由の最大」フィールドを
はずせば、
IDコードがBであるレコードについて、1レコードだけが返され、
「金額の合計」フィールドの値も850になると思います。

【12657】Re:集計クエリがうまくいかない
お礼  おまき  - 14/12/1(月) 16:19 -

引用なし
パスワード
   ご回答ありがとうございました、解決いたしました

仰る通り「購入理由の最大」の項目の値が違うため集計できてませんでした。
ただ、非可視とはいえ抽出のために必要なフィールドなので、悩んだ末このクエリを基にさらにクエリを作成して集計しました
ありがとうございました。

【12658】Re:集計クエリがうまくいかない
お礼  おまき  - 14/12/1(月) 16:30 -

引用なし
パスワード
   いったん解決にしてから、思いつきました。

かるびのさんのおっしゃった
>購入理由の最大をGroup By句から外す
の意味をはき違えていました

[購入理由の最大]フィールドの集計をグループ化から"先頭"とかにすればよかったのですね・・・
そしたら、クエリを二つ作らなくても一つで済みますね。
お恥ずかしい。じっくり考えてやっとわかりました。ありがとうございました。

180 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free