Access の短いテキスト (テキスト) または長いテキスト (メモ) フィールドに格納されている数値と文字列は、アルファベット順に並べ替えられます。 つまり、数値は、数値ではなく、値を構成する個々の数字に基づいて並べ替えられます。 たとえば、次の表に示すように、値 11 は 2 の前に表示され、値 12 は 3 の前に表示されます。
| 学生名 | 学生のいいえ |
|---|---|
| 安田 | 1 |
| Maria | 10 |
| ウィリアム | 11 |
| メアリー | 12 |
| Jane | 2 |
| リン | 3 |
| ジェイソン | 4 |
| メアリー | 5 |
アルファベット順ではなく数値に基づいて数値が並べ替えられるようにするには、次のいずれかの操作を行います。
フィールドに数値のみが含まれている場合は、フィールドのデータ型を 数値 または通貨に変更することを検討 してください。
次の場合は、次の手順を使用します。
- フィールドには数値のみが含まれますが、フィールドのデータ型を変更する必要はありません。
- フィールドには数値と文字列の両方の値が含まれますが、並べ替え時に文字列値を無視する必要があります。
このプロシージャでは、 Val 関数を使用して、テキストとして格納されている数値の数値を取得します。 式では、 IIf 関数を使用して、並べ替えフィールド内にある可能性がある null 値も処理します。
- [ホーム] タブの [並べ替えとフィルター] で [詳細設定] をクリックし、ショートカット メニューの [フィルター/並べ替えの編集] をクリックします。
- 最初の列の [フィールド] 行に式 Expr1: IIf([Fieldname] Is Null, 0, Val([Fieldname])) を入力します。
IIf 関数は、フィールド値が null かどうかを確認し、その場合は 0 として扱います。 値が null でない場合、 IIf 関数は Val 関数を呼び出して数値と同等の値を取得します。 - [ 並べ替え ] セルで、[ 昇順 ] または [ 降順] を選択します。
昇順の並べ替えでは、上に最小値を持つレコードと、最も大きい値が一番下にあるレコードが表示されます。 降順の並べ替えでは、逆の処理が実行されます。 - [ホーム] タブの [並べ替えとフィルター] で、[フィルターの切り替え] をクリックします。
上記の手順がうまくいかない場合は、テーブルの構造の変更を回避する別の方法を試すことができます。 これには、先頭のゼロを持つ数字が少ない "埋め込み" 値が含まれます。 たとえば、並べ替えを適用する前に、値 11、2、2、2000、3 を 0011、0002、2000、0003 に変更します。