2015年2月7日土曜日

[MSAccess] テーブル レコードの並び順を変更する

リレーショナル型データベースにおいて、テーブルのレコードは通常ならば並び順は何も保証されないが、Microsoft Access のデータシート ビューでは、行の並び替えを指定することができる。

1.プロパティを指定する

テーブルのデザイン ビューを開いて プロパティシート を開き、「並び替え(OrderBy)」項目に、ソートする項目を記述します。複数の項目でソート順を指定する場合は、コンマで区切ります。
(例)col1, col2

VBA等のプログラム側から設定するには、DAO.Property の OrderBy プロパティを変更する
CurrentDb.TableDefs("テーブル1").Properties("OrderBy").Value = "フィールド1"

2.主キーを指定する

主キーの本来の用途ではありませんが、主キーはデータシート ビューにおいて暗黙的な並べ替えを行います。

3.(その他の手段)編集可能なクエリを使用する

クエリに並び替え(ソート順)を指定すれば、もちろんソートされます。またテーブルの結合や集約などが無いクエリであれば、クエリのデータシート ビューからデータの編集が可能です。

■ 参考資料

[ACC2003] MDB のレコードの並び順について
http://support.microsoft.com/kb/834927/ja

テーブルの概要
https://support.office.microsoft.com/ja-jp/article/%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E6%A6%82%E8%A6%81-78ff21ea-2f76-4fb0-8af6-c318d1ee0ea7?CTT=5&origin=HA102809525&CorrelationId=e502ec4d-3485-49d2-aabd-7fdf708a4eef&ui=ja-JP&rs=ja-JP&ad=JP#__migbm_12
並べ替え 1 つ以上のフィールドを選択して、データシート ビューでの行の既定の並べ替え順を指定します。