テーブルのフィールドのデータ型として「テキスト型」が設定されている場合、そこに実際に入力されているデータがたとえ数字のみであっても、クエリ等で並べ替えを行った場合にはあくまでもテキストとして比較照合が行われるため、数値の大小順とはなりません。
たとえば下図の場合、テキスト型である「オーダー記号」フィールドに並べ替えを設定していますが、先頭の1文字めの文字・2文字めの文字・3文字めの文字~~~~というように並べ替えられるため、数値としてみた「101」が「1000」よりも大きくなっていることが分かります。



このようなとき、そのフィールドの値を”数値”として判断させて並べ替えるには、次のようにクエリを作ります。
- まず、並べ替えの基準としたいフィールドについて、Format$関数を使って値を右詰めにします。
【例】
オーダー記号: Format$([受注明細].[オーダー記号],"@@@@")
この場合、オーダー記号は4桁の右詰めとなります。4桁に満たない場合には先頭にスペースが入ります。たとえば「10」という文字は「△△10」というように変換されます。
- そしてその演算フィールドに対して「昇順」などの並べ替えを設定します。

- これを実行すると次のような結果になります。

|