アルファベット順や番号順ではなく、ユーザー定義の順序 (別称: 独自の順序または論理的順序) でデータを並べ替える場合があります。たとえば、月曜日が先頭になるように週日を並べ替える方が、アルファベット順に並べ替えて金曜日が先頭になるよりも理にかなっています。データは、テーブルやクエリのデータシート ビューまたはフォームのフォーム ビューで並べ替えることができます。
目的に合ったトピックをクリックしてください
少数の一意なフィールド値を並べ替える
この手順では、IIf 関数を使用して従業員の役職にランクを付ける式を作成します。
最初に、Title、FirstName、および LastName という 3 つのフィールドを含むテーブルを作成します。Title フィールドに、4 つの新しいレコードの値を次のように入力します。
-
Inside Sales Coordinator
-
Sales Manager
-
Sales Representative
-
Vice President, Sales
4 つのレコードの FirstName フィールドと LastName フィールドに、任意の名前を入力します。
-
テーブルをデータシート ビューで開きます。
-
[ホーム] タブの [並べ替えとフィルター] で [詳細設定] をクリックし、ショートカット メニューの [フィルター/並べ替えの編集] をクリックします。
-
FirstName、LastName、Title などの必要なフィールドをグリッドに追加します。
-
最初の空白の列の [フィールド] 行を右クリックし、[ズーム] をクリックして、次の式を入力します。
Iif 関数 ([タイトル] =「営業部長」、1、 IIf ([タイトル] =「販売マネージャー」、2、 IIf ([タイトル] =「営業担当者」、3、 IIf ([タイトル] ="内側販売計"4、5)))
Title は、ランク付けの対象となる値が格納されているフィールドの名前です。引用符で囲まれた値は、フィールドに格納される個々の値です。後続の数値は、それに割り当てられるランクです。前述の式では、4 つの異なるタイトルに 1 ~ 4 のランクが割り当てられ、それ以外はすべてランク 5 が割り当てられます。並べ替えを実行すると、この式で記述されていないタイトルには、同様にランク (5) が割り当てられます。
-
式が設定されている列の [並べ替え] 行で、[昇順] をクリックします。
-
[ホーム] タブの [並べ替えとフィルター] で、[フィルターの切り替え] をクリックします。
IIf 関数では、Title フィールドの値に対応する数値が返されます。たとえば、Title フィールドの値が "Sales Manager" の場合、割り当てられる数値は 2 です。関数の引数として示されていない値 ("District Coordinator" など) が Title フィールドにある場合は、数値 5 が割り当てられます。次に、クエリでこれらの数値が昇順に並べ替えられます。
多数の一意なフィールド値を並べ替える
ランク付けする値の数が多い場合は、ルックアップ テーブルを作成すると、データを効率よく並べ替えることができます。
Employees テーブルで 50 を超えるさまざまな役職を参照するとします。最初にルックアップ テーブルを作成して、新しいテーブルを参照するように既存のテーブルを準備する必要があります。次に、2 つのテーブルを関連付けてクエリを作成します。
ルックアップ テーブルを作成して既存のテーブルを変更する
-
役職を格納する新しいルックアップ テーブルを作成します。テーブルに "tblTitles" という名前を付けて、次の表に示すように、フィールドをかっこ内のデータ型に設定します。
タイトル Id
|
タイトル
|
"1"。 |
Vice President, Sales |
51 |
Sales Manager |
76 |
Sales Representative |
1.8 |
Inside Sales Coordinator |
-
TitleID フィールドを主キーとして設定します。
-
tblTitles テーブルを参照するように Employee テーブルを変更します。
-
デザイン ビューで、[Title] フィールドの名前を TitleID に変更します。
-
[データ型] 列で、[データ型] を [数値型] に変更します。
-
-
[標準] タブの [フィールド プロパティ] で、[フィールド サイズ] を [長整数型] に変更します。
-
テーブルを保存し、データの喪失に関する警告を無視します。
-
データシート ビューに切り替えます。
-
[Title] 列に役職値に対応する TitleID 値を設定します。
たとえば、役職値が Sales Manager のレコードの場合は、「2」と入力します。Sales Representative の場合は、「3」と入力します。
-
テーブルを保存して閉じます。
2 つのテーブルを関連付ける
-
[データベース ツール] タブの [表示/非表示] で [リレーションシップ] をクリックします。
-
[デザイン] タブの [表示/非表示] グループの [テーブル名] をクリックします。
-
[tblTitles] と [Employees] をクリックし、[追加] をクリックしてリレーションシップ ウィンドウに追加します。[テーブルの表示] ダイアログ ボックスを閉じます。
-
tblTitles テーブルの TitleID フィールドを Employees テーブルの TitleID フィールドにドラッグします。
[リレーションシップ] ダイアログ ボックスが表示されます。
-
2 つの列に表示されるフィールド名がどちらも "TitleID" であり、[リレーションシップの種類] ボックスに [一対多] も表示されていることを確認します。フィールド名は、必要に応じて変更できます。
-
[参照整合性] チェック ボックスをオンにします。
-
[作成] をクリックしてリレーションシップを作成します。
[リレーションシップ] ダイアログ ボックスが閉じ、変更が保存されます。
-
[リレーションシップ] タブを閉じます。
クエリを作成する
-
[作成] タブの [その他] で、[クエリ デザイン] をクリックします。
-
[テーブルの表示] ダイアログ ボックスで、[テーブル] タブをクリックし、[Employees] をダブルクリックします。次に、[tblTitles] をダブルクリックします。
-
[テーブルの表示] ダイアログ ボックスを閉じます。
-
Employees テーブルから EmployeeID、LastName、FirstName の各フィールド、および tblTitles テーブルから Title フィールドをクエリ デザイン グリッドに追加します。
-
データシート ビューに切り替えます。
注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。