#271 レポートの標題を指定して開く方法 レポート、VBA

レポートやその中のコントロールの持つプロパティの多くは、デザイン時にプロパティウィンドウで固定的に設定するだけでなく、レポートを開く際に状況に応じた値をセットすることができます。ここでは、レポートを開く側のプログラムによって標題を指定し、それに基づいて動的にレポート側で標題を変える例を紹介します。

方法としては、レポートを開く側のプログラム、つまりDocmdオブジェクトのOpenReportメソッドに「OpenArgs」の引数を付けて標題の内容をレポートに渡すようにします。
例:
  • DoCmd.OpenReport "rpt受注一覧", acViewPreview, , , , "受注コード"
  • DoCmd.OpenReport "rpt受注一覧", acViewPreview, , , , "得意先コード"
  • DoCmd.OpenReport "rpt受注一覧", acViewPreview, , , , "社員コード"
  • DoCmd.OpenReport "rpt受注一覧", acViewPreview, , , , "出荷先名"

一方、レポート側では、「開く時」のイベントプロシージャを使って、渡された引数を取得、それに基づいてレポート上のプロパティを設定します。以下のプログラム例ではレポートの標題、およびヘッダー上の"lblTitle"という名前のラベルコントロールの標題を設定しています。
Private Sub Report_Open(Cancel As Integer)
'レポートを開くとき

  Dim strCaption As String

  '各標題をOpenArgsより設定
  strCaption = "受注一覧表   【" & Me.OpenArgs & "順】"
  'プレビューウィンドウの標題を
  Me.Caption = strCaption
  'レポートヘッダーのタイトルをOpenArgsより設定
  Me!lblTitle.Caption = strCaption

End Sub

実行例:
受注コードを渡した場合
得意先コードを渡した場合
社員コードを渡した場合
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved