1.1 VBAでレポートを扱う基本
VBAでレポートを扱うときの基本は、MeReportsScreen.ActiveReportsの3種類です。これらを基本にPrintPageなど、レポートのプロパティやコレクションを使用したり、レポート内のコントロールを使用したりを行います。
レポートを参照する方法1/Me
Meを使うと、レポートの中に記述したVBAコードから自レポートのプロパティやメソッドを使用したり、コントロールを参照したりすることができます。

'【基本】自レポートのプロパティやメソッドを使用する

Me.プロパティやメソッド


'【記述例1】自レポートの用紙サイズを設定するとき

Me.Printer.PaperSize = acPRPSA4


'【記述例2】自レポートのコントロールの値を参照するとき

lngRecCount = Me.Controls.Item("都道府県コード")
レポートを参照する方法2/Reports
Reportsを使うと、レポート名を指定し(レポートを)参照することができます。例えば、標準モジュールやクラスモジュールからレポート名を指定し(レポートを)参照するとき、フォームに記述したVBAコードでレポートを参照するときなどが一般的です。

'【基本】レポート名を指定し、そのレポートのプロパティやメソッドを使用する

Reports(レポート名).プロパティやメソッド


'【記述例1】レポート「一覧表」の用紙サイズを設定するとき

Reports("一覧表").Printer.PaperSize = acPRPSA4


'【記述例2】レポート「一覧表」のコントロールを参照するとき

lngRecCount = Reports("一覧表").Controls.Item("都道府県コード")



'【記述例3】レポート名を変数で指定
Reports(strReportName).Printer.PaperSize = acPRPSA4
レポートを参照する方法3/Screen.ActiveReport
Screen.ActiveReportを使うと、最前面に表示されているレポートを参照することができます。ただし、最前面に表示されているオブジェクトがレポート以外だと実行時エラーが発生するので注意してください。

'【基本】最前面に表示されているレポートのプロパティやメソッドを使用する

Screen.ActiveReport.プロパティやメソッド


'【記述例1】最前面に表示されているレポートの用紙サイズを設定するとき

Screen.ActiveReport.Printer.PaperSize = acPRPSA4


'【記述例2】最前面に表示されているレポートの名前を取得

lngRecCount = Screen.ActiveReport.Name
Copyright(C) 1999-2006 結城圭介。 All rights reserved