複数値を持つフィールドの概要

以前のバージョンの Microsoft Access を始めとするほとんどのデータベース管理システムでは、1 つのフィールドに 1 つの値しか格納することができません。これに対して Microsoft Office Access 2007 では、複数値を格納するフィールドを作成することができます。複数値を格納するフィールドの例として、懸案事項を割り当てたカテゴリ リストなどがあります。複数値を持つフィールドは、特定の条件下で使用します。たとえば、Office Access 2007 を使って Windows SharePoint Services 3.0 リストに格納された情報を操作する必要があり、このリストに Windows SharePoint Services で使用できる複数値を持つフィールド型のフィールドが含まれている場合などです。

このトピックでは、Office Access 2007 と Windows SharePoint Services の複数値を持つフィールドの概要と、こうしたフィールドの作成方法、使用条件、クエリ内での使用方法について説明します。

この記事の内容

複数値フィールドとは何ですか。

Windows SharePoint Services で複数値を持つフィールド

複数値フィールドを使用する場合

複数値を持つフィールドを作成する方法

ルックアップ ウィザードを使用します。

複数値を持つフィールドのデザインを変更します。

クエリで複数値フィールドの使用方法

複数値を持つフィールドとは

たとえば、1 人の従業員を割り当てようとしていた作業に、2 人以上の従業員が必要となったとします。Office Access 2007 では、複数値を持つフィールドを作成して、リストから従業員を選択することができます。

複数値を持つフィールド

コンボ ボックスをクリックすると、選択内容を示すチェック ボックスが表示されます。リストの項目のチェックをオンまたはオフにしてから、[OK] をクリックして選択内容を送信できます。

複数値を持つフィールドのコンボ ボックス

選択された従業員は、複数値を持つフィールド内に格納され、既定によりコンマ区切りの形式で表示されます。

値がコンマで区切られた複数値を持つフィールド

複数値を持つフィールドの背景には、高度なデザインのデータベースを作成することなく、複数のオプションを選択し、格納するインスタンスをサポートしやすくするという考えがあります。Windows SharePoint Services の SharePoint リストも複数値を持つフィールドをサポートすることから、Windows SharePoint Services との統合でも、複数値を持つフィールドが重要な役割を果たします。

ほとんどのリレーショナル データベース管理システムでは、1 つのフィールドに複数の値を格納することが禁止されているのに、なぜ Office Access 2007 ではこの処理が可能なのでしょうか。その答えは、データベース エンジンにあります。Office Access 2007 のデータベース エンジンは、実際には、複数の値を 1 つのフィールドに格納しているのではなく、非表示のシステム テーブルに個別に格納し、管理しています。データを分割し、分割したデータを再度まとめて 1 つのフィールドに表示する処理は、Access データベース エンジンで自動的に行われます。

技術的な面について説明すると、Access の複数値を持つフィールドは、多対多のリレーションシップをモデルにしています。たとえば、各イベントに複数の担当者を割り当てるようなイベント テーブルがあるとします。複数値を持つフィールド "AssignedTo" を作成して、イベントを複数の担当者に割り当てるとすると、イベントと担当者のリレーションシップは多対多になります。つまり、1 つのイベントに複数の担当者を割り当てることもできれば、1 名の担当者に複数のイベントを任せることもできます。

ページの先頭へ

Windows SharePoint Services の複数値を持つフィールド

Windows SharePoint Services 2.0 は、複数のオプションを選択して 1 つのフィールド内に格納できる、選択肢列をサポートします。Windows SharePoint Services 3.0 では、複数のオプションを選択し、1 つのフィールド内に格納できるようにする、ルックアップ フィールドを作成できます。Office Access 2007 は、Windows SharePoint Services と Office Access 2007 を統合して、Windows SharePoint Services のフィールドの型をサポートするため、複数値を持つフィールドに対応しています。

複数値型を使用する SharePoint リストにリンクすると、Office Access 2007 は、Access の複数値型をローカルで自動的に作成し、使用します。

Access テーブルを SharePoint リストへエクスポートする場合、Access テーブルに複数値を持つフィールドが含まれていると、このフィールドは、Windows SharePoint Services の複数値を持つフィールドの型の 1 つになります。同様に、Access データベースを SharePoint サイトに移動する場合、データベースに複数値を持つフィールドを含む Access テーブルがあると、これらの複数値型フィールドが Windows SharePoint Services の複数値を持つフィールドの型の 1 つになります。

ページの先頭へ

複数値を持つフィールドの使用条件

複数値を持つフィールドは、次のような場合に作成します。

  • 比較的小さい選択リストから複数値を持つ選択肢を格納する場合。

    テーブル デザイン ビューで、ルックアップ ウィザードを使って、Office Access 2007 で複数値を持つフィールドを作成します。

  • 複数値型の選択肢またはルックアップ フィールドを使用できるように、Access テーブルを SharePoint サイトへエクスポートする場合。

    テーブル デザイン ビューで、ルックアップ ウィザードを使って、Office Access 2007 内に複数値を持つフィールドを作成します。次に、このテーブルを SharePoint リストへエクスポートします。

  • Windows SharePoint Services で複数値型の選択肢またはルックアップ フィールドを使用できるように、Access データベースを SharePoint サイトに移動する場合。

    テーブル デザイン ビューで、ルックアップ ウィザードを使って、Office Access 2007 内に複数値を持つフィールドを作成します。次に、[外部データ] タブの [SharePoint に移動] をクリックします。

  • 複数値を持つ選択フィールドまたは複数値を持つルックアップ フィールドを含む SharePoint リストにリンクする場合。

    リンク テーブルを作成すると、Office Access 2007 の複数値を持つフィールドが自動的に作成され、Windows SharePoint Services フィールドにマッピングされます。

これまでのシナリオだけでなく、データベースを後で Microsoft SQL Server に移動しない可能性が高いとわかっている場合も、複数値を持つフィールドを使用できます。Office Access 2007 の複数値を持つフィールドは、区切られた一連の値を含むメモ (ntext) フィールドとして、SQL Server にアップサイズされます。SQL Server は、多対多のリレーションシップをモデルにする複数値型をサポートしないので、追加のデザインや変換作業が必要になる可能性があります。

ページの先頭へ

複数値を持つフィールドの作成方法

テーブルは、データシート ビューで開きます。複数値を持つルックアップ列を追加するには、[データシート] タブの [フィールドと列] で [ルックアップ列] をクリックします。これにより、ルックアップ ウィザードが起動して、ルックアップ列の作成手順を実行できます。

  1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

  2. [開く] ダイアログ ボックスで、データベースを選択して開きます。

  3. ナビゲーション ウィンドウで、ルックアップ列を作成するテーブルをダブルクリックして開きます。

  4. [データシート] タブの [フィールドと列] で [ルックアップ列] をクリックします。

    Access リボンのイメージ

    ルックアップ ウィザードが起動します。

    テーブル/クエリまたは値リストを選択するルックアップ ウィザードのページ

  5. ルックアップ ウィザードの最初のダイアログ ボックスでは、ルックアップ列がテーブルまたはクエリの値に基づくようにするか、入力した値のリストに基づくようにするかを決定する必要があります。

    複数値を持つルックアップ列は、関連するテーブルまたはクエリから参照される値を表示するものが最も一般的です。

  6. ルックアップ ウィザードを完了する方法については、ルックアップ ウィザードを使用するを参照してください。複数値を持つフィールドを作成する方法の詳細の詳細については、複数の値を格納する追加または変更できる参照列を参照してください。

ページの先頭へ

ルックアップ ウィザードを使用する

ルックアップ ウィザードは、データシート ビューでルックアップ列を作成するとき、データシート ビューで開いているテーブルにフィールド リスト ウィンドウからフィールドをドラッグしたとき、およびデザイン ビューのデータ型列でルックアップ ウィザードを選択したときに起動します。このウィザードによって、ルックアップ列の作成に必要な手順を実行でき、選択内容に合うように適切なフィールド プロパティを自動的に設定します。また、必要に応じて、ルックアップ列をサポートするためにテーブルのリレーションシップとインデックスも作成します。

ウィザードが表示されたら、ルックアップ列をテーブルまたはクエリに基づくようにするか、入力する値のリストに基づくようにするかを決定する必要があります。多くの場合、データベースが適切にデザインされており、情報がサブジェクトに基づくテーブルに分割されている場合は、ルックアップ列の作成元をテーブルまたはクエリにするように選択します。

  • テーブルまたはクエリに基づいて複数値を持つルックアップを作成する

    フィールド リスト ウィンドウからフィールドをドラッグして、複数値を持つフィールドを作成した場合は、次の手順の最初の 2 つが自動的に実行されるため、3 番目の手順から始めます。

    1. ルックアップ ウィザードで、[テーブルまたはクエリの値をルックアップ値に表示する] をクリックし、[次へ] をクリックします。

    2. リストからテーブルまたはクエリを選択し、[次へ] をクリックします。

    3. [選択可能なフィールド] で、ルックアップに含めるフィールドを選択します。

    4. クリックしたフィールドを [選択したフィールド] ボックスの一覧に移動するには、[>] をクリックします。

    5. ルックアップに含めるフィールドを [選択したフィールド] ボックスの一覧にすべて移動するまで、前の 2 つの手順を繰り返します。その後 [次へ] をクリックします。

    6. さらに、ルックアップ項目の並べ替えに使用するフィールドを 4 個まで選ぶことができます。[次へ] をクリックします。[昇順] をクリックすると、昇順のルックアップ項目が降順に切り替わります。ボタン名が [降順] に切り替わることに注意してください。もう一度ボタンをクリックすると、元に戻ります。続行するには、[次へ] をクリックします。

    7. 必要に応じてルックアップ フィールド内の列の幅を調整し、[次へ] をクリックします。

    8. [このルックアップ用に複数の値を保存しますか?] の [複数の値を許可する] チェック ボックスをオンにします。

      注: 複数値を格納するには、このチェック ボックスをオンにする必要があります。

    9. [完了] をクリックします。

      [完了] をクリックすると、ルックアップ ウィザードでの選択に基づいて、フィールドのプロパティが設定されているルックアップ列が作成されます。

    10. テーブルを保存するには、Microsoft Office ボタン Office ボタンの画像 ] をクリックし、[保存] をクリックします。

  • 入力した値に基づいて複数の値を許容するルックアップを作成する

    1. ルックアップ ウィザードで、[表示する値をここで指定する] をクリックし、[次へ] をクリックします。

    2. 列の数を入力します。次に、それぞれの値を入力します。次の列または行に移動して、TAB キーを押します。

    3. 値の入力が完了したら、[次へ] をクリックします。

    4. 手順 2 では、複数の列を指定した場合は、それぞれの値を一意に識別に使用する列を選択してください。[利用可能なフィールド] ボックスを使用して、それぞれの値を一意に識別する列をダブルクリックします。

      注: 手順 2 で複数の列を指定しなかった場合、この手順は表示されません。

    5. ルックアップ ウィザードで、作成したルックアップ列のラベルを入力します。

    6. [このルックアップ用に複数の値を保存しますか?] の [複数の値を許可する] チェック ボックスをオンにします。

      注: 複数値を格納するには、このチェック ボックスをオンにする必要があります。

    7. [完了] をクリックします。

      [完了] をクリックすると、ルックアップ ウィザードでの選択に基づいて、フィールドのプロパティが設定されているルックアップ列が作成されます。

    8. テーブルを保存するには、Microsoft Office ボタン Office ボタンの画像 ] をクリックし、[保存] をクリックします。

      複数値フィールドを作成してからデータシート ビューでテーブルを表示すると、チェック ボックス付きドロップダウン リストとして表示されます。

ページの先頭へ

複数値を持つフィールドのデザインを変更する

複数値を持つフィールドのデザインを変更する方法については、「を追加または変更するルックアップ列に複数の値を格納」を参照してください。

ページの先頭へ

複数値を持つフィールドのクエリ内での使用方法

複数値を持つフィールドをクエリ内で使用している場合は、すべての値がコンマ区切り形式で含まれている完全な複数値を持つフィールドを取得するか、値ごとに別々の行を取得するかを決定する必要があります。たとえば、従業員に懸案事項を割り当てるために使用する AssignedTo フィールドを含む Issues テーブルがあるとします。AssignedTo フィールドを含むクエリを作成するには、次の手順に従います。

  1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

  2. [開く] ダイアログ ボックスで、データベースを選択して、開きます。

  3. [作成] タブの [その他] で、[クエリ デザイン] をクリックします。

    Access リボンのイメージ

  4. [テーブルの表示] ダイアログ ボックスで、複数値を持つフィールドを含むテーブル (この例の場合、"案件" テーブル) をクリックし、[追加] をクリックします。

  5. [閉じる] をクリックします。

  6. 使用するフィールドをクエリ グリッドにドラッグします。この例では、件名 フィールドと複数値を持つフィールド "担当者" をクエリ グリッドへドラッグしています。

  7. [デザイン] タブの [結果] で、[実行] をクリックします。

クエリの結果は、次の図のようになります。1 列に案件タイトル、別の列には複数値を持つフィールドが表示されています。

件名 フィールドと 担当者 フィールドを表示しているクエリ結果


複数値を持つフィールド AssignedTo を展開して、各 AssignedTo 値を別々の行に表示するとします。このためには、クエリ グリッドで、[フィールド] 行の "AssignedTo" に文字列 ".Value" を追加して、"値" プロパティを指定する必要があります。

件名 と 担当者.Value を表示しているクエリ グリッド

[フィールド] 行に "AssignedTo" を指定すると、クエリを実行したとき、複数値を持つフィールド内のすべての値が 1 行に表示されるようになります。ただし、"AssignedTo.Value" のように "値" プロパティを使用すると、展開された形式で複数値を持つフィールドが表示され、各値が別々の行に表示されます。値を個別に表示するクエリは、次のように作成できます。

  1. Microsoft Office ボタン Office ボタンの画像 をクリックして、[開く] をクリックします。

  2. [開く] ダイアログ ボックスで、データベースを選択して、開きます。

  3. [作成] タブの [その他] で、[クエリ デザイン] をクリックします。

    Access リボンのイメージ

  4. [テーブルの表示] ダイアログ ボックスで、複数値を持つフィールドを含むテーブル (この例の場合、"案件" テーブル) をクリックし、[追加] をクリックします。

  5. [閉じる] をクリックします。

  6. 使用するフィールド (この例では、複数値を持つフィールド 担当者.Value) をクエリ グリッドへドラッグします。

  7. [デザイン] タブの [結果] で、[実行] をクリックします。

クエリの結果は、次の図のようになります。1 列に案件タイトル、別の列には 担当者.Value が表示されています。

件名 および個々の 担当者 値を表示しているクエリ結果

クエリで複数値を持つフィールドの使い方の詳細については、「クエリで複数値を持つフィールド」を参照してください。

ページの先頭へ

注記: 

  • 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

  • この記事の英語版を参照するには、ここ をクリックしてください。Microsoft コミュニティの他のメンバーと一緒に、Community Translation Framework (CTF) を使ったこの記事の改善にご協力ください。記事内の文章にマウス ポインターを合わせて、CTF ウィジェットの [翻訳を改善します] をクリックしてください。CTF の詳細については、ここ をクリックしてください。CTF を使用すると弊社の サービス利用規約 に同意したことになります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×