hatenaさん
解説ありがとうございます。解説を基に色々コードをいじって確認してみました。
整理しますと自分の疑問点は結局以下に集約されます。
①[改ページ]コントロールのVisibleプロパティをFalseにする理由
②[改ページ]コントロールに関する設定を、ページヘッダーセクションに記述する理由
③[カウント]テキストボックスの値を0にする理由
④[カウント]テキストボックスの設定を、ページヘッダーセクションに記述する理由
①をTrueに設定してみました。確かにレコード毎に改行されてしまいました。だからFalseに設定する。ただ、この記述自体、Me.改ページ.Visible = Falseを無くしてしまっても問題無く動作します(10行毎にちゃんと改行される)。にも関わらず、わざわざ書く理由は可読性を考慮しているからなのですかね?
②に関しては、詳細セクションに記述してもきちんと動作しました。ただ、
詳細セクションのフォーマット時イベントはレコード毎に発生して1行分出力する。
との事ですから、レコードの数だけVisible = Falseを設定することになり、明らかに冗長な処理となることから、ページ毎に1回だけイベントが発生するページヘッダーセクションに記述するのが合理的という解釈で良いのですかね?
③に関しては、Me.カウント.Value = 0をコメントアウトすると、改行がされませんでした。イミディエイトウィンドウで値を確認してみるとNull値が入ってしまいカウントアップが働いていませんでした。なので初期化は必須ということが分かりました。ただ、この手の変数の設定は初期化を省略した場合、自動的に0が設定されて問題無く動くような気がしたのですが、この認識自体間違いですかね?例えば、以下のコードだと0が返ります。
Sub Test()
Dim i As Long
MsgBox i
End Sub
④は、詳細セクションに記述してしまうとレコード毎に毎回最初に0がセットされてしまい、カウントが1以上から先に進まないことが確認できました。故にページヘッダーセクションに記述する必要があると理解出来ました。
以上より、①~③はまだ少しモヤモヤしています。ご回答いただけると幸いです。
hirotonさん
丁寧に解説ありがとうございました。