※ ChatGPTを利用し、要約された質問です(原文:Accessのレポートでの集計について)
Accessのレポートでの集計について
このQ&Aのポイント
JYMDフッターに1日毎の合計発注件数(品目数)を出力したいと考えております。レポートのレコードソースは、JYMD、商品コード、商品単価、数量で構成されたクエリを使っています。
VBAでレポートの印刷時に全ての日数の合計が出てしまい、1日毎の件数とはできませんでした。改ページをレポート側で設定しているので、1日毎の件数は出せないでしょうか?
レポート側での処理でも良いので、何か方策を教えてもらえたら助かります。
JYMDフッターに1日毎の合計発注件数(品目数)を出力したいと考えております。
構成は、
JYMDヘッダー ----------------------
明細 --------------------------
JYMD(日付) 商品コード 数量 金額
JYMDフッター ----------------------
商品コード数 件
改ページは、JYMDヘッダーの「カレントセクションの前」にしています。
レポートのレコードソースは、JYMD、商品コード、商品単価、数量で構成されたクエリを使っています。
例示すると
2008/4/21 0001 1 100
2008/4/21 0001 2 200
2008/4/21 0002 1 400
2008/4/21 0003 1 500
------------------------------
商品コード数 3件 ← (0001、0002、0003で3件という意味です。)
(次頁)
2008/4/22 0001 1 100
・・・
という感じです。
VBAでレポートの印刷時に以下の記述(一部です)をしましたが、
全ての日数の合計が出てしまい、1日毎の件数とはできませんでした。
*********************************************
Dim SQL_STR AS STRING
Dim QUE AS QueryDef
Dim RS AS RecordSet
SQL_STR = "SELECT Count(商品コード) AS KEI"
SQL_STR = SQL_STR & " FROM 商品日別QUE"
Set QUE = DB.QueryDefs("Q_商品日別")
QUE.SQL = QUE
Set RS = DB.OpenRecordset("Q_商品日別", dbOpenSnapshot)
If RS.RECORDCOUNT <> 0 Then
Me![GOKEI] = RT_QUE![KEI]
End If
*********************************************
改ページをレポート側で設定しているので、1日毎の件数は出せないでしょうか?
レポート側での処理でも良いので、何か方策を教えてもらえたら助かります。
お礼
CHRONOS_0さん、ご回答ありがとうございます。 教えていただいた方法でやってみました。 結論から書きますと、商品コードの件数がうまく出ませんでした。 (重複した商品コードを「明細分」カウントしてしまう) グループに日付と商品コードが入っているからうまく出ないのかとも 考えたのですが、 原因を突き止められませんでした。 そこで、クエリを2つ作って、日付ごとの商品コードをGroup Byした クエリを元に件数を出して、 そのクエリの日付をレポート上の日付と比較する手法をとることにより実現できました。 他の方法で実現しましたが、同様の事例の場合に、 また使わせていただきたいと思います。 ありがとうございました。