クエリでの参照と複数値を持つフィールドの使用

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに英語の記事があります。

Access では、複数の値を保持する複数値を持つフィールド (最大 100) を作成できます。 また、他のデータソースの値にバインドされたユーザーのフレンドリの値を表示するルックアップフィールドを作成することもできます。 ルックアップまたは複数値を持つフィールドにクエリを行う場合、固有の考慮事項があります。 詳細については、「複数値を持つフィールドを作成または削除する」および「ルックアップフィールドを作成または削除する」を参照してください。

この記事の内容

クエリでルックアップフィールドの連結値を表示する

クエリでルックアップフィールドの表示値を使用する

クエリで複数値を持つフィールドを使用する

クエリの複数値を持つフィールドに抽出条件を追加する

クエリの複数値を持つフィールドに複数の抽出条件を追加する

クエリ内の複数値を持つフィールドをグループ化およびカウントする

複数値を持つフィールドに追加クエリを使用する

複数値を持つフィールドで更新クエリを使用する

複数値を持つフィールドで削除クエリを使用する

クエリでルックアップフィールドの連結値を表示する

ルックアップフィールドの表示値は、既定でクエリのデータシートビューに自動的に表示されます。 クエリを作成するときに、この動作を上書きして、連結された値が代わりに表示されるようにすることができます。 この例では、新しいイングランド州の名前を「検索」している本社テーブルのルックアップフィールドの連結値を表示したいとします。

ルックアップフィールドテーブル
  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、ルックアップフィールドを含むテーブルをクリックし、ルックアップフィールドで使用されている他のデータソースをクリックして、[追加]、[閉じる] の順にクリックします。 この例では、本社新しい英国の表を追加します。

    2つのテーブルを結合する必要があります。

    ルックアップフィールドスキーマ

    詳細については、「テーブルおよびクエリを結合する」を参照してください。

  3. ルックアップフィールドと共に、クエリデザイングリッドにフィールドをドラッグします。 この例では、 "市区町村" フィールドと " nestate " フィールドを追加します。

  4. ルックアップフィールドをクリックし、[デザイン] タブの [表示/非表示] グループで [プロパティシート] をクリックします。 この例では、 nestateフィールドを使用します。

  5. プロパティシートで、[ルックアップ] タブを選択し、[表示コントロール] プロパティで [テキストボックス] を選択します。

    クエリ デザインの表示コントロールのプロパティ

結果   これで、データシートビューでクエリを表示したときに、対応する表示値の連結値が表示されます。

バインドされた値が表示されたクエリ結果

ページの先頭へ

クエリでルックアップフィールドの表示値を使用する

ルックアップフィールドを作成すると、連結値と表示値の間に結合が作成されます。 クエリでは表示値を直接使用することはできませんが、他のデータソースから対応する値を使用することはできます。 この例では、クエリの "本社" テーブルでルックアップフィールドの " nestate" の表示値を抽出条件として使用するとします。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、ルックアップフィールドを含むテーブルをクリックし、ルックアップフィールドで使用されている他のデータソースをクリックして、[追加]、[閉じる] の順にクリックします。 この例では、本社新しい英国の表を追加します。

    2つのテーブルを結合する必要があります。 詳細については、「テーブルおよびクエリを結合する」を参照してください。

  3. 使用するフィールドをクエリグリッドにドラッグします。 この例では、本社テーブルの City を最初の列にドラッグしてから、本社テーブルから2番目の列に、[新しいイギリス] テーブルから3番目の列に " statename"をドラッグします。

  4. クエリグリッドのstatenameの [表示] チェックボックスをオフにします。

  5. クエリグリッドの [ statename] の下の [抽出条件] 行で、「バーモント」と入力します。

    ルックアップフィールドの連結値を表示するクエリグリッド

    クエリの抽出条件は、 statename列に基づいています。これは、表示値 ( nestate) と同じ値で、データシートビューには表示されません。

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

結果   バーモントを含む行のみが表示されます。

クエリの結果

ページの先頭へ

クエリで複数値を持つフィールドを使用する

クエリ内で複数値を持つフィールドを表示する場合は、すべての値をコンマで区切って1行に表示するか、または値ごとに別々の行に統合されたデータ型のフィールドを表示できます。 たとえば、各案件のタイトルフィールドと複数値を持つ [担当者] フィールドが含まれている案件テーブルを作成して、問題をユーザーに割り当てるとします。

複数値を持つフィールドのすべての値を1つの行に表示する

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. クエリデザイングリッドにフィールドをドラッグします。 この例では、 Titleフィールドと複数値を持つ担当者フィールドをドラッグします。

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

結果    期待どおりに、1つの列に [タイトル] フィールドが表示され 、2番目の列には [担当者] 複数値フィールドが表示されます。

複数値を持つフィールドのクエリで非フラットな結果が表示される

複数値を持つフィールドの各値を1つの行に表示する (フラットビュー)

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. フィールドをクエリグリッドにドラッグします。 この例では、 Titleフィールドと "担当者" 値の複数を持つフィールドをドラッグします。

    書式、<Fieldname>。value は、 valueプロパティを文字列として追加します。担当者フィールドの値。

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

結果    データは、"タイトル" フィールドが繰り返され、[担当者] フィールドの各値が対応する行に表示されるように統合されています。

複数値を持つフィールドのクエリにフラット化された結果

ページの先頭へ

クエリの複数値を持つフィールドに抽出条件を追加する

異なるグリッド列のクエリグリッドに同じ条件が配置されていると、クエリの結果に大きな影響を与えます。

複数値を持つフィールドのすべての値を1つの行に表示する抽出条件を追加する

Access は最初に結果セットを作成してから、抽出条件を追加します。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. フィールドをクエリグリッドにドラッグします。 この例では、"タイトル" フィールド、 "複数値を持つ担当者" フィールド、および "担当者" フィールドをドラッグします。

  4. クエリグリッドで、[担当者] のの [表示] チェックボックスをオフにします。

  5. クエリグリッドの [担当者] の下で、[抽出条件] 行に「"Hamilton" ではなく "阿部" と入力します。

    ルックアップフィールドを使用したクエリデザイングリッド

    SQL ビューを表示すると便利です。

    [タイトル] を選択すると、担当者が指定していない問題から、"David Hamilton" という値が入力されます。

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

結果    David Hamilton に割り当てられていない3つの問題は、既定値で表示されます。

<Fieldname> を使用した複数値を持つフィールドの結果

複数値を持つフィールドの各値を1つの行 (平面ビュー) に表示する抽出条件を追加する

Access では、最初にフラット化された結果セットを作成し、抽出条件を追加します。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. フィールドをクエリグリッドにドラッグします。 この例では、 Titleフィールドと "担当者" 値の複数を持つフィールドをドラッグします。

  4. クエリグリッドの [担当者] の下で、[抽出条件] 行に「"阿部 Hamilton"」と入力します。

    のクエリデザイングリッドルックアップフィールドの値の形式

    SQL ビューを表示すると便利です。

    [問題] を選択します。担当者の値が "阿部 Hamilton" の場合

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

結果    David Hamilton に割り当てられていない各問題は、フラット化された値で表示されます。

<Fieldname> を使用して複数値を持つフィールドの結果値

ページの先頭へ

クエリの複数値を持つフィールドに複数の抽出条件を追加する

複数値を持つフィールド内の複数の値に対する一致を検索することが必要な場合があります。 たとえば、"友野司郎" と "根本明美" の両方が [担当者] フィールドの値の中にある問題を表示するとします。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. フィールドをクエリグリッドにドラッグします。 この例では、 Titleフィールドと複数値を持つ担当者フィールドをドラッグします。

  4. クエリグリッドの [担当者] の下の [抽出条件] 行に、「友野司郎」と "根本明美" を入力します。

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

結果    "友野司郎" と "根本明美" に割り当てられている2つの問題が表示されます。

複数値フィールドで AND の使用を示すクエリ結果

ページの先頭へ

クエリ内の複数値を持つフィールドをグループ化およびカウントする

複数値を持つフィールドに格納されている値の計算、グループ化、並べ替えを実行するには、<Fieldname> を使用します。値フィールド。 グループクエリの詳細については、「クエリを使用してデータをカウントする」を参照してください。

各ユーザーに割り当てられている問題の数をカウントするには

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. 使用するフィールドをクエリグリッドにドラッグします。 この例では、 最初の列に "担当者" というタイトルをドラッグし、2番目の列に移動します。

  4. [デザイン] タブの [表示/非表示] グループで [集計] をクリックします。

    クエリグリッドに集計行が表示されます。 既定では、クエリの各フィールドの下にある [集計] セルに [グループ化]が表示されます。

  5. クエリグリッドの [タイトル] の下にある [集計] 行で、[カウント] をクリックします。

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

結果    ユーザーごとに割り当てられた問題の数は、フラットビューに表示されます。

各人に割り当てられた問題をカウントするクエリ

各問題に割り当てられているユーザー数を数えるには

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、複数値を持つフィールドが含まれているテーブルをクリックし、[追加] をクリックして、[閉じる] をクリックします。 この例では、案件テーブルを追加します。

  3. 使用するフィールドをクエリグリッドにドラッグします。 この例では、タイトルを最初の列にドラッグし、担当者を2番目の列にドラッグします。

  4. [デザイン] タブの [表示/非表示] グループで [集計] をクリックします。

    クエリグリッドに集計行が表示されます。 既定では、クエリの [タイトル] フィールドの下にある [集計] セルに [グループ化] が表示されます。 複数値を持つフィールドに対して直接グループ操作を実行することはできないため、<Fieldname> は既定で [担当者] フィールドの下に表示されます。 値フィールド。

  5. クエリグリッドの [担当者] の下の [集計] 行で、[カウント] をクリックします。

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

結果    問題ごとに割り当てられたユーザーの数がフラットビューで表示されます。

案件当たりのユーザー数を示すクエリ結果

ページの先頭へ

複数値を持つフィールドに追加クエリを使用する

追加クエリを使用して、複数値を持つフィールドに1つの値を挿入することができます。 たとえば、"Tom Michaels" を "案件" テーブルの "複数値を持つ" フィールドに追加するとします。

Note   これは、複数値を持つフィールドと連携する唯一の種類の追加クエリです。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、[案件] テーブルを追加し、[閉じる] をクリックします。

  3. [デザイン] タブの [追加] をクリックします。

  4. [追加] ダイアログボックスで、[問題] を選択し、[ OK]をクリックします。

  5. デザイングリッドの [追加先] 行で、[ 担当者] をクリックします。

  6. デザイングリッドの [フィールド]行に「Tom Michaels」と入力します。

  7. 追加操作を特定の問題に制限するには、[タイトル] などのフィールドをデザイングリッドに追加し、[追加先] 行から [タイトル] を削除して、"案件 3" などの条件を入力します。

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

    選択した行を追加するかどうかを確認するメッセージが表示される場合があります。 [はい]をクリックして行を挿入するか、[いいえ] をクリックしてキャンセルします。

結果   "Tom Michaels" が、懸案事項 3 の [担当者] フィールドに追加されました。

重要    複数値を持つフィールドを含むテーブルを参照する追加クエリは使用できません。 たとえば、次のクエリは有効ではありません。

INSERT INTO [NewIssues] ( ID, Title, AssignedTo ) SELECT Issues.ID, Issues.Title, Issues.AssignedTo FROM Issues;

ページの先頭へ

複数値を持つフィールドで更新クエリを使用する

更新クエリを使用して、複数値を持つフィールドの単一の値を別の値に変更することができます。 この例では、複数値を持つ "フィールド" を更新して、"友野司郎" を "根本明美" に置き換えます。

  1. クエリをデザインビューで開きます。

  2. [テーブルの表示] ダイアログボックスで、[案件] テーブルを追加し、[閉じる] をクリックします。

  3. [デザイン] タブの [更新] をクリックします。

  4. "担当者"をクエリグリッドにドラッグします。

  5. [レコードの更新] 行に「根本明美」と入力します。

  6. [抽出条件] 行に「友野司郎」と入力します。

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

    選択した行を追加するかどうかを確認するメッセージが表示される場合があります。 [はい]をクリックして行を挿入するか、[いいえ] をクリックしてキャンセルします。

結果    [担当者] フィールドの友野司郎を、対応するすべての問題に置き換えます。

ページの先頭へ

複数値を持つフィールドで削除クエリを使用する

複数値を持つフィールドを含むテーブルを操作する場合は、複数値を持つフィールドに特定の値を含むレコードを削除するか、またはテーブル内のすべてのレコードの複数値を持つフィールドから特定の値を削除するために、削除クエリを使用できます。 次の例では、"David Hamilton" を "案件" テーブルから削除するとします。

重要    削除クエリを使用してデータを含む複数値を持つフィールドを削除すると、そのデータは永久に失われます。削除したデータを元に戻すことはできません。 この理由から、テーブルのフィールドやその他のデータベースのコンポーネントを削除する前に、データベースをバックアップすることをおすすめします。

すべてのレコードの複数値を持つフィールドから特定の値を削除するには

  1. [作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。

  2. [テーブルの表示] ダイアログボックスで、[案件] テーブルを追加し、[閉じる] をクリックします。

  3. クエリをデザインビューで開きます。

  4. [デザイン] タブの [削除] をクリックします。

  5. [抽出条件] 行に「David Hamilton」と入力します。

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

    レコードを削除するかどうかを確認するメッセージが表示される場合があります。 レコードを削除する場合は [はい]をクリックし、キャンセルする場合は [いいえ] をクリックします。

結果    David Hamilton は、対応するすべての問題について削除されます。

複数値を持つフィールドに特定の値を含むレコードを削除する

  1. [作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。

  2. [テーブルの表示] ダイアログボックスで、[案件] テーブルを追加し、[閉じる] をクリックします。

  3. クエリをデザインビューで開きます。

  4. [デザイン] タブの [グループの削除] をクリックします。

  5. [デザイン] タブの [結果] グループで、[表示] の下にある矢印をクリックし、[ SQL ビュー] をクリックします。

  6. 次の SQL ステートメントを入力します。

    DELETE FROM Issues WHERE (((Issues.AssignedTo.Value)="David Hamilton"));

    Note    この場合、SQL ステートメントのみを使用できますが、デザイングリッドは使用できません。 デザイングリッドビューに切り替えると、DELETE ステートメントの後にアスタリスク (*) が追加されます。これは、SQL ビューから削除する必要があります。

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

    レコードを削除するかどうかを確認するメッセージが表示される場合があります。 レコードを削除する場合は [はい]をクリックし、キャンセルする場合は [いいえ] をクリックします。

結果    David Hamilton が割り当てられているすべての問題が削除されます。

ページの先頭へ

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

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

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

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

×