おすすめ記事

同じカテゴリー

フォームのレコードを並べ替える



Accessの分割フォームをよく利用しています。フォームビューとデータシートビューが同時が表示され、Excelのフィルターと同じようにフィルタボタンで様々な抽出や並べ替えができるので重宝しています。
ブログのAccess2007の分割フォームでも紹介しています。
分割フォームを利用するとデータシートビューでデータ抽出をすることが多いと思いますが、空白を含むフィールドでは注意が必要です。
フィルターの空白を含む複数選択で抽出数が違う
分割フォーム

私がいくら便利だと思っても、ユーザー側からは追加要求があります。この分割フォームを表示すると、日付の昇順に並ぶようにしています。フォームのプロパティで[並べ替え]で[日付]を指定しています。
フォームのプロパティ

このフォームにボタンを追加して、商品ID順で売上の降順に並べ替えられるようにしてほしいとのこと。
並べ替えボタン

スポンサーリンク

商品テーブルは下のようになっています。
商品テーブル

分割フォームの[商品]コンボボックスは、商品IDが連結列となっています。
商品コンボボックス

フォームビューでの表示は商品名が表示されるように[列数]と[列幅]で下のように設定しています。
コンボボックスのプロパティ

[並べ替えボタン]のイベントプロシージャのクリック時イベントに下のように入力します。フィールド[商品]の昇順、[売上]の降順となります。DESCを付けると降順になります。
イベントプロシージャ

[並べ替え]ボタンをクリックすると、[商品ID]の昇順かつ[売上]の降順で並びます。
並べ替えボタンをクリックした状態

こうなると[解除]ボタンも当然、要求されます。[解除]ボタンを追加して、クリック時のイベントプロシージャに下のように入力します。

Me.OrderByOn = False

[解除]ボタンをクリックすると、並べ替えが解除されて[日付]の昇順になります。
解除ボタンをクリック時の状態

分割フォームについての関連ページです。
分割フォームの列幅を保存するには

トラブルをすぐに解決したいならteratail

おすすめ記事

シェアする