2008年5月19日月曜日

MSACCESSレポートの動的な並び替え

通常MSACCESSのレポートにて並び替えを行う場合は、並び替えのプロパティを設定して固定的に設定をすることでほとんどがそれで間に合うと思うが、都度データの中身によってデータを並ぶ項目の順番をユーザーが指定してそれに沿った形で出力する等は、以外と実装したことがないのに気がついた。

そこでフォームで並び替えを指定された条件(項目)を参照して並び替えを指定するVBAの記述方法。

以外に簡素だった。


Private Sub Report_Open(Cancel As Integer)

Me.OrderBy = Forms![フォーム名]![テキスト0]

End Sub

たったこの1行でよかった。SQL分のOrder句・・・

これは昇順なので降順は

Me.OrderBy = Forms![フォーム名]![テキスト0] & " DESC"

でOrder句の完成かな

それと、プロパティの設定で

並べ替え適用の ”いいえ” を ”はい” に変更すること

0 件のコメント: