クエリの概要

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

クエリを使うと、Access データベースのデータを簡単に表示、追加、削除、変更できます。クエリは次のような理由でも使います。

  • 特定の抽出条件でフィルター処理することで、特定のデータをすばやく検索する

  • データを計算または集計する

  • 最新のデータを定期的に検証するなどのデータ管理タスクを自動化する

Access デスクトップ データベースを操作するが、Access web アプリを提供するいくつか次に示す [クエリ] オプションの場合より強力なクエリのオプション セットを取得します。Access web アプリの詳細については、アクセス権を持つ設計し、オンラインで公開するデータベースの種類では、 Access アプリを作成するを参照してください。

注:  例に示されているクエリを使用してみるときは、Access デスクトップ データベースを使用してください。

クエリでは、検索や、データを使用できます。

選択クエリを作成します。

パラメーター クエリを作成します。

集計クエリを作成します。

クロス集計クエリを作成します。

作成するテーブル作成クエリ

追加クエリを作成します。

更新クエリを作成します。

削除クエリを作成します。

クエリを使ってデータ検索と操作を簡単にする

優れた設計のデータベースでは、フォームやレポートに示すデータは複数のテーブルに置かれているのが一般的です。さまざまなテーブルからクエリで情報を引き出し、それを組み合わせてフォームやレポートに表示します。クエリで要求できるのは、データベースでのデータの検索結果、データに対するアクション、またはその両方です。クエリを使用して、簡単な質問の答えを得る、計算を実行する、異なるテーブルのデータを結合する、データベースのデータの追加、変更、削除を行うなどの操作を実行できます。クエリはかなり多岐にわたるため、多くの種類のクエリが存在します。タスクに基づいた種類のクエリを作成します。

主なクエリの種類

用途

選択

テーブルからのデータの取得、計算を実行します。

アクション

データを追加、変更、削除します。アクション クエリの種類はタスクごとに異なります。アクション クエリは Access アプリで使用できません。

ページの先頭へ

選択クエリを作成する

データ テーブル内の特定のフィールドのみを確認または同時に複数のテーブルからデータを確認または柄した特定の条件に基づいてデータを表示するには、選択クエリの種類が選択になります。詳細については、「簡単な選択クエリを作成します。

選択フィールドのデータを確認する

製品に関する大量の情報を保存しているテーブルがデータベース内にあり、商品とその価格の一覧を確認する必要がある場合は、商品名とその価格だけを返す選択クエリを作成します。その方法は次のとおりです。

  1. データベースを開き、[作成] タブで [クエリ デザイン] をクリックします。

  2. [テーブルの表示] ボックスの [テーブル] タブで、[製品] テーブルをダブルクリックしてから、ダイアログ ボックスを閉じます。

  3. [製品] テーブルには、[商品名] フィールドと [表示価格] フィールドがあるとします。[商品名] と [表示価格] をダブルクリックして、これらのフィールドをクエリ design gridに追加します。

  4. [デザイン] タブの [実行] をクリックします。クエリを実行して、製品とその価格の一覧を表示します。

ページの先頭へ

複数の関連テーブルのデータを同時に確認する

食品を販売する店舗のデータベースがあり、特定の市区町村に居住している得意先の受注を確認する必要があるとします。受注に関するデータと得意先に関するデータは、それぞれ "得意先" テーブルと "受注" テーブルという 2 つのテーブルに格納されているとします。各テーブルに "得意先 ID" フィールドがある場合は、これにより 2 つのテーブル間に基本的なone-to-many relationshipが形成されます。たとえば、次の手順に従って、世田谷区の得意先に関する受注を返すクエリを作成できます。

  1. データベースを開きます。[作成] タブの [クエリ] で [クエリ デザイン] をクリックします。

  2. [テーブルの表示] ダイアログ ボックスの [テーブル] タブで、[得意先] と [受注] をダブルクリックします。

  3. [テーブルの表示] ダイアログ ボックスを閉じます。[得意先] テーブルの [ID] フィールドと [受注] テーブルの [得意先 ID] フィールドを接続する線 (結語と呼ばれる) にご注意ください。この線は、2 つのテーブル間のリレーションシップを表します。

  4. [得意先] テーブルで、[会社名] と [市区町村] をダブルクリックして、これらのフィールドをクエリ デザイン グリッドに追加します。

  5. クエリ デザイン グリッドの [市区町村] 列で、[表示] 行のチェック ボックスをオフにします。

  6. 市区町村] 列の [抽出条件] 行に「世田谷入力します。

    [表示] チェック ボックスをオフにすると、クエリ結果に市区町村が表示されません。また、[抽出条件] 行に「世田谷区」と入力すると、[市区町村] フィールドの値が「世田谷区」のレコードだけ表示することが指定されます。この例では、世田谷区在住の得意先だけがクエリで返されます。抽出条件で使用するフィールドを表示する必要はありません。

  7. [受注] テーブルで、[受注 ID] と [受注日] をダブルクリックして、これらのフィールドをクエリ デザイン グリッドの次の 2 列に追加します。

  8. [デザイン] タブの [結果] グループで、[実行] をクリックします。クエリを実行すると、世田谷区にある得意先の受注の一覧が表示されます。

  9. クエリを保存するには、Ctrl キーを押しながら S キーを押します。

ページの先頭へ

パラメーター クエリを作成する

特定のクエリをバリエーションを変えて頻繁に実行する必要がある場合は、パラメーター クエリの使用を検討してください。パラメーター クエリを実行すると、フィールド値の入力を求めるプロンプトが表示され、ここでユーザーが指定した値を使用して、クエリの抽出条件が作成されます。

注:  パラメーター クエリは Access アプリで使用できません。

前の例では、世田谷区在住の得意先の受注を返す選択クエリを作成する方法について学習しましたが、この例を続けて使用します。クエリを実行するたびに市区町村の指定を求めるプロンプトを表示するように、この選択クエリを変更できます。これを行うには、前の例で作成したデータベースを開きます。

  1. ナビゲーション ウィンドウで、"市区町村別受注" という名前のクエリ (前のセクションで作成したクエリ) を右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。

  2. クエリ デザイン グリッドの [市区町村] 列の [抽出条件] 行で、大阪、削除して[はどのような city?]を入力します。

    文字列 [市区町村を指定してください。] が、パラメーター プロンプトになります。角かっこはクエリで入力を要求することを意味し、文字列 (この場合は「市区町村を指定してください」) はパラメーター プロンプトに表示する質問です。

注: パラメーター プロンプトのテキストとして、ピリオド (.) や感嘆符 (!) を使用することはできません。

  1. クエリ結果に市区町村が表示されるように、[市区町村] 列の [表示] 行のチェック ボックスをオンにします。

  2. [デザイン] タブの [結果] グループで、[実行] をクリックします。市区町村の値を入力するように求める指示が表示されます。

  3. 千代田区」と入力し、enter キーを押して千代田区の得意先の注文を確認します。

    指定する値がわからない場合 プロンプトの一部にワイルドカード文字を使用できます。

  4. [ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。

  5. クエリ デザイン グリッドの [市区町村] 列の [抽出条件] 行で、次のように入力します。 Like [どのような city?] &"*"します。

    このパラメーター プロンプトでは、Like キーワード、アンパサンド (&)、二重引用符で囲まれたアスタリスク (*) が使用されています。ユーザーはワイルドカード文字を含めたこれらの文字を組み合わせて入力して、さまざまな結果を得ることができます。たとえば、「*」と入力すると、すべての市区町村が返され、「」と入力すると、"大" で始まる市区町村がすべて返され、「*田*」と入力すると、"田" の含まれる市区町村がすべて返されます。

  6. [デザイン] タブの [結果] グループでは、[実行] をクリックしてクエリ プロンプトで、新規作成] を入力し、ENTER キーを押します。

    クエリを実行すると、千代田区の得意先の受注が表示されます。

パラメーターのデータ型を指定する

パラメーターが受け入れるデータ型を指定することもできます。任意のパラメーターにデータ型を設定できますが、特に、数値、通貨、または日付と時刻のデータに対してデータ型を設定することが重要です。パラメーターが受け入れるデータ型を指定した場合、ユーザーが間違ったデータ型を入力すると (通貨が必要な場合にテキストを入力するなど)、わかりやすいエラー メッセージが表示されます。

テキスト データを受け入れるようにパラメーターが設定されている場合、入力はすべてテキストとして解釈され、エラー メッセージは表示されません。

クエリのパラメーターのデータ型を指定するには、次の手順に従います。

  1. クエリをデザイン ビューで開き、[デザイン] タブの [表示/非表示] で [パラメーター] をクリックします。

  2. [クエリ パラメーター] ダイアログ ボックスの [パラメーター] 列に、データ型を指定する各パラメーターのプロンプトを入力します。各パラメーターが、クエリ デザイン グリッドの [抽出条件] 行で使用するプロンプトと一致していることをご確認ください。

  3. [データ型] 列で、各パラメーターのデータ型を選びます。

詳細については、パラメーターを使用してクエリを実行すると、入力を求めます

ページの先頭へ

集計クエリを作成する

データシートの [集計] 行はとても便利ですが、より複雑な質問の場合は集計クエリを使用します。集計クエリは選択クエリの 1 つで、データをグループ化してまとめることができます。たとえば、商品ごとに販売合計を確認する場合などに使用します。集計クエリで Sum 関数 (集計関数) を使用して、商品ごとの販売合計を確認できます。

注: 集計関数は Access アプリケーションで使用できません。

次の手順に従い、商品別に小計をまとめるように、前の例で作成した "商品別小計" クエリを変更します。

  1. [ホーム] タブの [表示] をクリックして >デザイン ビュー

    "商品別小計" クエリがデザイン ビューで開かれます。

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

    クエリ デザイン グリッドに [集計] 行が表示されます。

注: デザイン グリッドの [集計] 行とデータシートの [集計] 行は同じ名前ですが、同じではありません。

  • デザイン グリッドの [集計] 行を使用すると、フィールド値に基づいてグループ化できます。

  • 集計クエリの結果にデータシートの [集計] 行を追加できます。

  • デザイン グリッドの [集計] 行を使用するときは、フィールドごとに集計関数を選んでください。1 つのフィールドに対して計算を実行する必要がない場合は、フィールド別にグループ化できます。

  • デザイン グリッドの 2 番目の列の [集計] 行で、ドロップダウン リストの [合計] をクリックします。

  • [デザイン] タブの [結果] グループで、[実行] をクリックします。クエリを実行すると、小計と共に商品の一覧が表示されます。

  • クエリを保存するには、Ctrl キーを押しながら S キーを押します。クエリは開いたままにしておきます。

詳細については、 [集計] 行でデータシートの値を合計を参照してください。

ページの先頭へ

データに基づいて計算する

小計のような計算値は、同じデータベース内のデータに基づいている場合であっても、テーブルに保存しないのが一般的です。これは、計算値のベースとなっている値が変わった場合に計算値が古くなるためです。たとえば、年齢は毎年更新する必要があるため、テーブルに保存しません。代わりに誕生日を保存し、クエリを使用して年齢を計算します。

販売したい商品のデータベースがあるとします。このデータベースには "受注明細" というテーブルがあり、各商品の価格や数量などのフィールドに商品情報が含まれています。各商品の数量にその商品の単価を乗算し、次に各商品の数量にその商品の単価と割引率を乗算してから、単価の合計額から割引の合計額を減算するクエリを使用して、小計を計算できます。前の例のサンプル データベースを作成済みの場合は、それを開いて次の操作を行います。

  1. [作成] タブをクリックしてクエリ デザインします。

  2. テーブルの表示] ダイアログ ボックスのテーブル] タブをダブルクリックして注文の詳細

  3. 閉じる、 テーブルの表示] ダイアログ ボックス。

  4. 受注明細テーブルでダブルクリックプロダクト IDをクエリ デザイン グリッドの最初の列にこのフィールドを追加します。

  5. グリッドの 2 番目の列を右クリックし、 フィールド]行に入力しショートカット メニューの [拡大/縮小します。

  6. ズーム] ボックスを入力するか貼り付けて: 小計: ([数量] * [単価])-([数量] * [単位 Price]*[Discount])

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

  8. [ デザイン] タブのをクリックしてを実行します。クエリを実行して、製品と注文ごとの小計の一覧が表示されます。

  9. クエリを保存するために Ctrl キーを押しながら S キーを押し、クエリに "商品別小計" という名前を付けます。

また、 [集計] 行でデータシートの値を合計を参照してください。

ページの先頭へ

集計データを表示する

テーブルを使用してトランザクションを記録したり、定期的に発生する数値データを格納する場合、合計や平均など、そのデータを集計して確認できると便利です。Access では、[集計] 行をdatasheetに追加できます。[集計] 行はデータシートの下にある行で、累計またはその他の集計値を表示できます。

  1. "商品別小計" クエリを実行し、結果をDatasheet viewで開いたままにしておきます。

  2. [ ホーム] タブのをクリックして合計します。新しい行が、word で、データシートの下部に表示合計最初の列にします。

  3. という名前のデータシートの最後の行のセルをクリックして合計します。

  4. 使用できる集計関数を表示する矢印をクリックします。列にテキストのデータが含まれているためだけに 2 つの選択肢があります: なしカウントします。

  5. 選択カウントします。セルの内容の変更内容合計する列の値の数。

  6. 隣接したセル (2 番目の列) をクリックします。セルに矢印が表示されることにご注意ください。

  7. 矢印をクリックし、 合計を計算します。フィールドには、列の値の合計が表示されます。

  8. クエリをデータシート ビューで開いたままにしておきます。

ページの先頭へ

クロス集計クエリを作成する

次に、商品の小計と月別の集計を確認できるようにします。つまり、各行に商品の小計、各列に 1 か月の商品の小計を表示します。商品の小計と 1 か月の商品の小計を表示するには、crosstab queryを使用します。

注: クロス集計クエリは Access アプリケーションで表示できません。

クエリが商品の小計の行と毎月の小計の列を返すように、"商品別小計" クエリを再び変更します。

  1. [ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。

  2. [クエリ設定] で [テーブルの表示] をクリックします。

  3. [テーブルの表示] ダイアログ ボックスで、[受注] をダブルクリックし、[閉じる] をクリックします。

  4. [デザイン] タブの [クエリの種類] で、[クロス集計] をクリックします。デザイン グリッドで、[表示] 行を非表示とクロス集計] 行が表示されます。

  5. デザイン グリッドの 3 列目で、[フィールド] 行を右クリックし、ショートカット メニューの [ズーム] をクリックします。[ズーム] ボックスが開きます。

  6. ズーム] ボックスに入力するか、次を貼り付けますMonth:"Month"& DatePart ("m", [Order Date])

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

  8. [行列の入れ替え] 行で、最初の列の [行見出し]、2 番目の列の []、3 番目の列の [列見出し] をドロップダウン リストから選びます。

  9. [デザイン] タブの [結果] グループで、[実行] をクリックします。クエリを実行すると、月ごとに集計された商品の小計が表示されます。

  10. クエリを保存するには、Ctrl キーを押しながら S キーを押します。

    詳しくは、次のトピックをご覧ください。

ページの先頭へ

テーブル作成クエリを作成する

テーブル作成クエリを使用すると、他のテーブルに格納されているデータから新しいテーブルを作成できます。

注:  テーブル作成クエリは Access アプリで使用できません。

たとえば、新宿区の受注データを新宿区のビジネス パートナーに送信するとします。このパートナーは Access を使用してレポートを作成します。すべての受注データを送信するのではなく、データを絞り込んで新宿区の受注に関するデータだけを送信します。

新宿区の受注データを含む選択クエリを作成し、その選択クエリを使用して、次の手順に従って新しいテーブルを作成します。

  1. 前の例のサンプル データベースを開きます。

    テーブル作成クエリを実行するには、場合によって、データベース コンテンツを有効にしてください。

    注: データベースを有効にする方法、リボンの下にあるメッセージを表示する場合はクリックしてコンテンツを有効にします。データベースが信頼できる場所で既に場合は、メッセージ バーは表示されません。

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

  3. [テーブルの表示] ダイアログ ボックスで、[受注明細] と [受注] をダブルクリックして、[テーブルの表示] ダイアログ ボックスを閉じます。

  4. [受注] テーブルで、[得意先 ID] と [出荷先市区町村] をダブルクリックして、これらのフィールドをデザイン グリッドに追加します。

  5. [受注明細] テーブルで、[受注 ID]、[商品 ID]、[数量]、[単価]、[割引] をダブルクリックして、これらのフィールドをデザイン グリッドに追加します。

  6. デザイン グリッドの [出荷先市区町村] 列で、[表示] 行で、ボックスをオフにします。抽出条件] 行に「 '新宿区' 」と入力 (単一引用符を含む)。テーブルを作成するために使用する前に、クエリの結果を確認します。

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

  8. クエリを保存するには、Ctrl キーを押しながら S キーを押します。

  9. クエリ名] ボックスに、新宿区受注クエリ」と入力し、[ OK] をクリックします。

  10. [ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。

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

  12. テーブルの作成] ダイアログ ボックスの [テーブル名] ボックスで、新宿区受注] を入力し、[ OK] をクリックします。

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

  14. 確認ダイアログ ボックスで [はい] をクリックして、新しいテーブルがナビゲーション ウィンドに表示されているのを確認します。

    注: 指定した名前のテーブルが既に存在している場合、そのテーブルはクエリの実行前に自動的に削除されます。

ページの先頭へ

追加クエリを使用してテーブルから他のテーブルにレコードを追加する

追加クエリを使用すると、1 つ以上のテーブルからデータを取得し、そのデータを別のテーブルに追加できます。

注: 追加クエリは Access アプリで使用できません。

たとえば、新宿区のビジネス パートナーと共有するテーブルを作成した後で、そのパートナーが練馬区の顧客とも取り引きしていることがわかったとします。パートナーとテーブルを共有する前に、練馬区のデータを保存する行をテーブルに追加してください。次の手順に従い、練馬区のデータを "新宿区受注" テーブルに追加できます。

  1. "新宿区受注クエリ" という名前のクエリをデザイン ビューで開きます。

  2. [デザイン] タブの [クエリの種類] で、[追加] をクリックします。[追加] ダイアログ ボックスが開きます。

  3. [追加] ダイアログ ボックスで、[テーブル名] ボックスの矢印をクリックし、ドロップダウン リストで [新宿区受注] をクリックして [OK] をクリックします。

  4. [出荷先市区町村] 列の [抽出条件] 行で、デザイン グリッドでは、'新宿区' を削除し、 '練馬区'」を入力します。

  5. [追加先] 行で、各列に適したフィールドを選びます。

    この例では、[追加先] 行の値は [フィールド] 行の値と一致している必要がありますが、これらが一致していなくても追加クエリは機能します。

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

注:  大量のデータを返すクエリを実行していると、クエリを元に戻すことはできないことを伝えるエラー メッセージが表示される場合があります。メモリ セグメントの制限を 3 MB に拡張し、クエリが問題なく実行されるように試してみてください。

ページの先頭へ

更新クエリを作成する

更新クエリを使用して、データベース内のデータを変更できます。また、更新クエリで抽出条件を入力して、更新する行を指定することもできます。更新クエリでは、更新対象のデータを確認してから更新を実行できます。

重要: アクション クエリは元に戻すことができません。 このため、更新クエリを使用して更新するテーブルのバックアップを取ることを検討してください。

注: 更新クエリは Access アプリで使用できません。

前の例で、"新宿区受注" テーブルに行を追加しました。"新宿区受注" テーブルの "商品 ID" フィールドには数値の商品 ID が表示されます。データをレポートで使いやくするために、次の手順に従って、商品 ID を商品名に置き換えます。

  1. [新宿区受注] テーブルをデザイン ビューで開きます。

  2. [商品 ID] 行で、データ型を [数値型] から [テキスト型] に変更します。

  3. [新宿区受注] テーブルを保存して閉じます。

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

  5. [テーブルの表示] ダイアログ ボックスで [新宿区受注] と [商品] をダブルクリックし、[テーブルの表示] ダイアログ ボックスを閉じます。

  6. [デザイン] タブの [クエリの種類] グループで、[更新] をクリックします。

  7. デザイン グリッドで、[並べ替え] 行と [表示] 行が非表示になり、[レコードの更新] 行が表示されます。

  8. [新宿区受注] テーブルで [商品 ID] をダブルクリックして、このフィールドをデザイン グリッドに追加します。

  9. デザイン グリッドで、商品 ID ] 列の [レコードの更新] 行で入力するか貼り付けて: [製品]. [製品名]

    ヒント: 更新クエリを使用すると、[レコードの更新] 行で空の文字列 ("") または NULL を使用してフィールドの値を削除できます。

  10. 抽出条件] 行に入力するか、次を貼り付けます[Product ID] のように ([製品]。 [。ID])

  11. クエリをデータシート ビューで表示することで、更新クエリによって変更される値を確認できます。

  12. [デザイン] タブの [表示] をクリックして >データシート ビュー。クエリでは、更新されるプロダクト Id のリストを返します。

  13. [デザイン] タブの [実行] をクリックします。

    [新宿区受注] テーブルを開いたときに、プロダクト ID] フィールド内の数値を [商品] テーブルから製品名に置き換えられていることが表示されます。更新クエリを作成するを参照してください。

ページの先頭へ

削除クエリを作成する

削除クエリを使用して、テーブルからデータを削除できます。また、削除クエリで抽出条件を入力して、削除する行を指定することもできます。削除クエリでは、削除対象の行を確認してから削除を実行できます。

注: 削除クエリは Access アプリで使用できません。

前の例の "新宿区受注" テーブルを新宿区のビジネス パートナーに送信する準備をしているときに、一部の行に空のフィールドが含まれていることに気付きました。そこで、これらの行を削除してからテーブルを送信することにしました。テーブルを開いて行を手動で削除することもできますが、削除する行が多く、削除対象行の条件がはっきりしている場合は、削除クエリを使用する方が便利です。

次の手順に従って、"新宿区受注" テーブルで受注 ID の値がない行を削除するクエリを使用します。

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

  2. [テーブルの表示] ダイアログ ボックスで [新宿区受注] をダブルクリックし、[テーブルの表示] ダイアログ ボックスを閉じます。

  3. [デザイン] タブの [クエリの種類] で、[削除] をクリックします。デザイン グリッドの並べ替え表示の行になり、削除する行が表示されます。

  4. [新宿区受注] テーブルで、[受注 ID] をダブルクリックしてグリッドに追加します。

  5. デザイン グリッドの [受注 ID] 列の [抽出条件] 行でIs Nullを入力します。

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

チェック アウト削除クエリを作成します

ページの先頭へ

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

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

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

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

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

×