Microsoft Access 掲示板

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

50 コメント
views
4 フォロー
45
hiroton 2021/04/02 (金) 10:19:47 修正 c5a8f@f966d

あ、見落としてました。[合計数量]もケース、バラに分解するんですね。やろうとした感じで出来るはずですがうまくいかないですか?

  , ケース入数

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

  , f0

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

それと、上記の方法はケース、バラの算出は[数量]を合計してから機械的にという方法です。そうではなく、
例えば

商品店舗数量ケース入数
A1510
A1610

なんてデータの場合、現実に即して数字を出すと

商品店舗数量合計ケース入数ケース合計バラ合計
A3110211

となることが考えられます(バラ数合計がケース入数を超える)。こういう計算をしたいのであれば合計する前の[数量]からケース数、バラ数を算出する必要があります

  , ケース入数

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

  , f0

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

Int([数量]/[ケース入数][数量] Mod [ケース入数])が複数回でてきますが、レポート出力用クエリ「Qレポート出力データ」は集計を使ったクエリなので、これを個別のフィールドに置くことはできません。わかりやすく処理するなら事前にフィールドを作っておく必要があります。ちょうど前段階として「Q出力全ページデータ」があるので

Q出力全ページデータ

SELECT Py, テーブルA.*, Q出力店舗.*, Int([数量]/[ケース入数]) AS ケース数, [数量] Mod [ケース入数] AS バラ数
FROM Q出力店舗, テーブルA INNER JOIN Q出力商品ページグループ ON テーブルA.棚番号 = Q出力商品ページグループ.棚番号;

とすれば
Qレポート出力データ


  , Sum([数量]) AS 合計数量
  , Sum([ケース数]) AS 合計ケース数
  , Sum([バラ数]) AS 合計バラ数

  , f0

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

と作ることができます

「テーブルA」に
ケース入数
ケース数:Int([数量] / [ケース入数] )
バラ数: [数量] Mod [ケース入数]
の3つを追加してます。

なので、こっちのほうがやりたいことだったかな?

通報 ...