Microsoft Access 掲示板

クロス集計クエリからレポート印刷 / 43

50 コメント
views
4 フォロー
43
hiroton 2021/04/01 (木) 09:25:42 74598@f966d

ケース数:Int([数量] / [ケース入数] )
バラ数: [数量] Mod [ケース入数]

この計算自体はレポート出力の直前でやればいいですね

合計ケース数:Int([合計数量] / [ケース入数] )
合計バラ数: [合計数量] Mod [ケース入数]

レポート出力用のクエリは次のような形になっていると思います

  , Sum(数量) AS 合計数量

  , f0

  , Sum(IIf([店舗名]=[f0],[数量])) AS n0

GROUP BY

  , Q出力全ページデータ.Py
  , Q出力全ページデータ.Px

[合計数量]は各商品の全店舗の合計ですね。店舗ごとの数量としては、「(Px,Py)ページの1列目の店舗はf0フィールドの値、その時の数量はn0」のように作っているので、この「n0」に対して計算式を当ててあげればいいです

  , Sum(数量) AS 合計数量

  , f0

  , Sum(IIf([店舗名]=[f0],[数量])) AS n0
  , Int([n0] / [ケース入数] ) AS n0ケース数
  , [n0] Mod [ケース入数] AS n0バラ数

GROUP BY

  , Q出力全ページデータ.Py
  , Q出力全ページデータ.Px

0の場合、レポートに表示するときは空白でお願いします。

数値をチェックして必要な時(0より大きいとき)だけ出力すればいいですね

  , IIf([n0ケース数]>0,[n0ケース数]) AS n0ケース数表示
  , IIf([n0ケース数]>0,"ケース") AS n0ケース文字
  , IIf([n0バラ数]>0,[n0バラ数]) AS n0バラ数表示
  , IIf([n0バラ数]>0,"バラ") AS n0バラ文字

または、レポートに配置したあと書式を設定するでもいいかもしれません
数値フィールドまたは通貨フィールドの書式を設定する

n0ケース数
コントロールソース|n0ケース数
書式        |0;; 

n0バラ数
コントロールソース|n0バラ数
書式        |0;; 

n0ケース文字
コントロールソース|n0ケース数
書式        |ケース;; 

n0バラ文字
コントロールソース|n0バラ数
書式        |バラ;; 

表示できないですが、「;;」の後に「半角スペース」が入っています。
レポートのデザインビューで入力するときは自動整形が働くので、例えば、「0;;" "」と入力する必要があります。または「0;; 」(最後の文字は全角スペース)でもいいでしょう

通報 ...