レポートに出力するレコードの並び順は、デザイン時に「並べ替え/グループ化」のウィンドウで設定することができます。しかし、「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が"社員コード"のとき
|