Access VBA質問箱 IV

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

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


373 / 9994 ←次へ | 前へ→

【12934】Re:ページフッターの合計
回答  かるびの  - 16/2/5(金) 0:29 -

引用なし
パスワード
    レポートは苦手なので、以下のレスは外している可能性があります。


>Dim SIRE As Long,ZEI As Long,GOKEI As Long
>Function funcKEISAN()
>  SIRE = SIRE + Me.SIRE
>  ZEI = ZEI + Me.ZEI
>  GOKEI = GOKEI + Me.GOKEI
>End Function
>
>Private Sub ページフッターセクション
>  Me.仕入計 = SIRE
>  Me.税計 = ZEI
>  Me.合計計 = GOKEI
>End Sub
 このコードですが、かなりリスクのあるコードだと思います。
 というのは、ページフッタが印刷される時点において、
変数SIRE等の値が、当該ページにおける最終レコードまでの仕入額等の合計額となっている
保証がないからです。
 なので、これらのプロシージャを使って、仕入額等の合計を出すのは不安です。

>10ページ目だけを印刷した場合に10ページの部分のみの数値が計算されてしまいます。
とのことですが、この原因もこの不安が原因なのではないかと思います。
 
 もっとも、上記引用の事態については、本当にそうなのかなと思いますし、
実験してみたわけではないので、私の考えは外している可能性もあります。


 一応、私の不安を前提として考えを進めると、
仕入額の合計を出す方法として、他の方法を採用してみたらどうだろうかと思います。
 累計を使う方法です。


 その方法ですが

1 詳細セクションに集計用のテキストボックス(txt仕入れ累計)を設けます。

2 その集計実行プロパティを「全体」にし、その可視プロパティを「いいえ」にします
(ただし、テストのためには、可視プロパティは「はい」にしておいた方が確認しやすいです)。

3 詳細セクションの印刷時イベントで、txt仕入れ累計の値を、
ページフッタで「仕入計」を表示するテキストボックス(txt仕入れ計)に代入する
というコードを書きます。


 この方法については、簡単なサンプルを作り、1回だけテストしてみましたが、
御希望のことが実現できそうです。


 とはいえ、上記3で印刷時イベントを使うことについては、不安もあります。
 レポートのイベントのメカニズムはかなり複雑なため、本当に印刷時イベントでいいのだろうかと
思うからです。
 なお、イベントのメカニズムについては、

hatena chips 〜レポートのイベントの発生メカニズムの研究
ht tp://hatenachips.blog34.fc2.com/blog-entry-147.html

hatena chips 〜レポートのイベントの発生メカニズムの研究 その2
ht tp://hatenachips.blog34.fc2.com/blog-entry-148.html

が参考になります。
私の知る限り、これに関する唯一の文献であり、目を開かせてくれると思います。必見です。

 この文献を元に研究してみてください。

138 hits

【12931】ページフッターの合計 maiu 16/2/3(水) 17:02 質問[未読]
【12932】Re:ページフッターの合計 maiu 16/2/3(水) 17:05 質問[未読]
【12934】Re:ページフッターの合計 かるびの 16/2/5(金) 0:29 回答[未読]
【12935】funcKEISANを実験してみた かるびの 16/2/5(金) 1:47 発言[未読]
【12940】Re:ページフッターの合計 maiu 16/2/10(水) 11:57 お礼[未読]

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