DoCmd メソッド (Access)DoCmd.SetOrderBy method (Access)

SetOrderBy メソッドを使用して、アクティブなデータシート、フォーム、レポート、またはテーブルを並べ替えます。Use the SetOrderBy method to apply a sort to the active datasheet, form, report, or table.


setorderby(OrderByControlName)expression.SetOrderBy (OrderBy, ControlName)

expression: DoCmd オブジェクトを表す変数。expression A variable that represents a DoCmd object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
OrderByOrderBy 必須Required バリアント型Variant レコードを並べ替えるフィールド (複数可) の名前を含む文字列の式です。必要に応じて ASC キーワードまたは DESC キーワードを含めることもできますA string expression that includes the name of the field or fields on which to sort records and the optional ASC or DESC keywords.
ControlNameControlName 省略可能Optional VariantVariant 指定した場合、アクティブなオブジェクトがフォームまたはレポートであれば、並べ替えるサブフォームまたはサブレポートに対応するコントロールの名前になります。If provided and the active object is a form or report, the name of the control that corresponds to the subform or subreport that will be sorted. 指定しない場合、アクティブなオブジェクトがフォームまたはレポートであれば、親のフォームまたはレポートが並べ替えられます。If empty and the active object is a form or report, the parent form or report is sorted.


このメソッドを実行すると、アクティブであり、フォーカスがあるテーブル、フォーム、レポート、またはデータシート (たとえば、クエリ結果) に並べ替えが適用されます。When you run this method, the sort is applied to the table, form, report, or datasheet (for example, query result) that is active and has the focus.

"OrderBy__/並べ替え" 引数とは、レコードを並べ替えるフィールドの名前 (複数可) を指します。The OrderBy argument is the name of the field or fields on which you want to sort records. 複数のフィールド名を指定する場合はコンマ (,) で区切ります。When you use more than one field name, separate the names with a comma (,). アクティブ オブジェクトの OrderBy プロパティを使用すると、順序値を保存し、後で適用できます。The OrderBy property of the active object is used to save the ordering value and apply it at a later time. " OrderBy /並べ替え" プロパティの値は、そのプロパティを設定したオブジェクトに保存されます。OrderBy values are saved with the objects in which they are created. そのオブジェクトが開くと自動的に読み込まれますが、自動的に適用されることはありません。They are automatically loaded when the object is opened, but they are not automatically applied.

1つ以上のフィールド名を入力して_OrderBy_引数を設定してメソッドを実行すると、レコードは既定で昇順で並べ替えられます。When you set the OrderBy argument by entering one or more field names and then run the method, the records are sorted by default in ascending order.

レコードを降順で並べ替えるには、" OrderBy/並べ替え" 引数式の最後に「DESC」と入力します。To sort records in descending order, type DESC at the end of the OrderBy argument expression. たとえば、得意先のレコードを得意先コードで降順に並べ替えるには、"OrderBy/並べ替え" 引数を "得意先コード DESC" に設定します。For example, to sort customer records in descending order by contact name, set the OrderBy argument to "ContactName DESC". 名前を姓の降順、姓の昇順に並べ替えるには、" OrderBy/並べ替え" 引数を "LastName DESC, FirstName ASC" に設定します。To sort names by LastName descending, and FirstName ascending, set the OrderBy argument to "LastName DESC, FirstName ASC"


次のコード例では、アクティブなデータシート、フォーム、レポート、またはテーブルを LastName 降順および FirstName 昇順で並べ替えます。The following code example sorts the active datasheet, form, report, or table by LastName descending and FirstName ascending.

DoCmd.SetOrderBy "LastName DESC, FirstName ASC"

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.