|
レポートは苦手なので、以下のレスは外している可能性があります。
>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
が参考になります。
私の知る限り、これに関する唯一の文献であり、目を開かせてくれると思います。必見です。
この文献を元に研究してみてください。
|
|