#027 レポートのページ内で強制的に改ページさせるには? レポート、VBA

レポートで、集計グループごとに改ページを行って別の用紙に印刷したいような場合には、そのグループのグループヘッダまたはグループフッタを表示し、それらのセクションの[改ページ]プロパティを設定すれば簡単に実現できますが、データの内容がある条件に当てはまったら強制的に改ページさせたいような場合には、「改ページ」コントロールを使って次のようにします。
  • まず[詳細]セクションの下の方に改ページコントロールを挿入します。
  • [詳細]セクションの[フォーマット時]イベントに次のようなコードを記述します。
Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)

  If Me!数量 > 300 Then
    Me!改ページ1.Visible(※注) = True
  Else
    Me!改ページ1.Visible = False
  End If
  
End Sub
このコード例では、改ページコントロールの名前を"改ページ1"、レコードソースのフィールドと連結したテキストボックスの名前を"数量"とし、その数量が300を越えていたらその行を印刷後に強制的に改ページします。ここでもし、改ページコントロールを[詳細]セクション内の一番上に配置すれば、その行を印刷する前に改ページが行われ、その次のページの先頭の行が数量>300のデータとなります

※改ページコントロールのプロパティウィンドウには[Visible/可視]というプロパティは表示されません。またコード上で .(ドット)を入力すると表示される「プロパティ/メソッドの一覧」にも出てきませんが、上記のコードでエラーなく動作します。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved