
お世話になっております。
Access2003のレポートで下記のようなコードで価格の合計を求めようとしています。
1ページですとこれで合計は表示されるのですが、レポートが2ページ以降になると最終ページの合計が表示されます。
最終ページの最後にすべての合計を出したいと思っています。
ご教授いただければ幸いです。よろしくお願いいたします。
Option Compare Database
Dim a As Variant
Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)
a = 0
End Sub
Private Sub グループヘッダー3_Print(Cancel As Integer, PrintCount As Integer)
a = a + Me.価格
End Sub
Private Sub レポートフッター_Print(Cancel As Integer, PrintCount As Integer)
Me.合計 = a
End Sub
No.1ベストアンサー
- 回答日時:
コードの2行目以降、つまり、自分で追加したすべてのコードを削除し、それぞれのセクションのイベントプロシージャの設定も解除して下さい。
つまり
Option Compare Database
のみにします。
そうしたらレポートフッターにある「合計」と名前の付いたテキストボックスが「非連結」と表示されている筈なので、そのテキストボックスをクリックして、編集モードにします。
テキストボックスの中にカーソルが出たら
=Sum([価格])
と入力します。
あとは、何もしなくて良いです。勝手に合計が計算されて、一番最後の最終ページの最後にすべての合計が1つだけ出ます。
なお、
ページヘッダーセクション_Format
のプロシージャは、ページが変わるたびに呼ばれるので「1ページ目の最初でaが0になり、2ページ目の最初でまたaが0になり、3ページ目の最初でまたaが0になり、最終ページの最初でまたaが0になり」と言う事になります。
結果「Me.合計」は「最終ページのみの合計だけ」になります。
なお「=Sum([価格])」と書いたテキストを置く場所により、印字結果は以下のように異なります。
・レポートの「詳細」に置いた場合
「価格」と同じものが印字される
・グループヘッダーに置いた場合
グループの先頭の「価格」と同じものが印字される
・グループフッターに置いた場合
グループごとの価格の合計が印字される。
・ページヘッダーに置いた場合
各ページの先頭の「価格」と同じものが印字される
・ページフッターに置いた場合
ページごとの価格の合計が印字される。
・レポートヘッダーに置いた場合
先頭、1件目の「価格」と同じものが印字される
・レポートフッターに置いた場合
すべての価格の合計が印字される。
このように「グループ毎の合計」「ページ毎の合計」「全体の合計」が簡単に印字出来るので、小細工は一切要りません。書いたコードは全部削除しましょう。
早々のご回答ありがとうございました。
非常にアホなひとり芝居をしていました。(汗)
解説までしていただきましてよくわかりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:13
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- Visual Basic(VBA) VBA 配列を使ったコードに直していただけますか 4 2023/05/06 15:18
- Visual Basic(VBA) vbaの計算 if elseと範囲について 6 2022/11/26 01:49
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのレポート上のテキスト...
-
アクセスのレポートのヘッダー...
-
Access 複数列レポートにおいて...
-
Access2013でレポートを名前を...
-
レポートのコントロールソース...
-
Accessでレポートの項目をVBAで...
-
★お手上げ状態です。助けてくだ...
-
Access2007 総ページ数が狂う
-
accessレポートにwordの文...
-
計算結果がレポートビューでは...
-
ACCESSのレポートフッターをグ...
-
ACCESS のレポートに、ある一つ...
-
ACCESS でフォームフィルターを...
-
ACCESSのレポート印刷について
-
アクセスのレポートをPDF化する...
-
Accessのフォーマット時イベント
-
ACCESS2000でグループ途中の改...
-
Access レポートからレポートの...
-
テキストボックスにコントロー...
-
アクセスのレポートでこんなこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのレポートのヘッダー...
-
Accessのレポート上のテキスト...
-
★お手上げ状態です。助けてくだ...
-
レポートのラベルなどの非表示...
-
accessレポートにwordの文...
-
テキストボックスにコントロー...
-
Access チェックボックスを使...
-
Accessでレポートの項目をVBAで...
-
ACCESS2000 VBAで印刷時にサブ...
-
Accessのフォーマット時イベント
-
Accessを使ってレポートを印刷...
-
BusinessObjectsについて教えて...
-
計算結果がレポートビューでは...
-
ACCESSでデータゼロ件の時レポ...
-
Accessでページヘッダーだけが...
-
アクセスでレポート作成時にデ...
-
アクセスのレポートをPDF化する...
-
Access レポートフッターを条...
-
レポートのコントロールソース...
-
Access2013でレポートを名前を...
おすすめ情報