#272 レポートの並び順を動的に切り替える方法 レポート、VBA

レポートに出力するレコードの並び順は、デザイン時に「並べ替え/グループ化」のウィンドウで設定することができます。しかし、「OrderByプロパティ」「OrderByOnメソッド」を使うことによって、レポートを開く際に動的に切り替えることも可能です。

次のプログラムでは、OpenArgsによって渡されたフィールド名を基準に、並べ替えの対象フィールドを切り替えています。
Private Sub Report_Open(Cancel As Integer)
'レポートを開くとき
  
  Dim strCaption As String
  
  '各標題をOpenArgsより設定
  strCaption = "受注一覧表   【" & Me.OpenArgs & "順】"
  'プレビューウィンドウの標題を
  Me.Caption = strCaption
  'レポートヘッダーのタイトルをOpenArgsより設定
  Me!lblTitle.Caption = strCaption

  'レポートの並び順を設定
  Me.OrderBy = Me.OpenArgs
  'レポートの並べ替えを実行
  Me.OrderByOn = True

End Sub

実行例:
  • OpenArgsが"受注コード"のとき
    実行例

  • OpenArgsが"得意先コード"のとき
    実行例

  • OpenArgsが"社員コード"のとき
    実行例
| Index | Prev | Next |



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