4D がリリースされるたびに、オブジェクトフィールドはより強力になっています。
4D v16 R2では、1つまたは複数の属性に従ってレコード選択をソートする新しい4Dコマンドが利用可能になりました。この新しいコマンドは ORDER BY ATTRIBUTEと同じように動作します。 ORDER BYこの新しいコマンドは、コマンドと同じように動作します; 選択したレコードを並べ替えたい属性のパスを渡すだけで、簡単に実行できます。
例えば、現在の選択項目を年齢(降順)、名前(昇順)の順に並べ替えたいとします。
デフォルトの並び順は以下の通りです。
{"LastName": "Giorgio", "age":33, "client":true},
といった感じです。
{"LastName": "Sarah", "age":42, "client":true},
{"LastName": "Wesson", "age":44, "client":true},
{"LastName": "Kerrey", "age":44, "client":true}
簡単です!もし、次のように実行すれば
ORDER BY ATTRIBUTE([Customer];[Customer]OB_Info; "age";<;[Customer]OB_Info; "LastName";>))
レコードは以下の順番で並んでいます。
{"LastName": "Kerrey", "age":44, "client":true},
の順で表示されます。
{"LastName": "Wesson", "age":44, "client":true},
{"LastName": "Sarah", "age":42, "client":true},
{"LastName": "Giorgio", "age":33, "customer":true}
注意:ORDER BY とORDER BY ATTRIBUTE のコマンドを混在させて、レコードの順番を定義することができます。
以下のデータベースをダウンロードすると、より多くの例を見ることができます。
このコマンドについてもっと知りたい場合は、4D v16 R2のドキュメントを参照してください。