クエリを使用すると、Access データベースのデータを簡単に表示、追加、削除、または変更できます。 クエリを使用するその他の理由:
-
特定の条件 (条件) をフィルター処理して特定のデータをすばやく検索する
-
データを計算または集計する
-
定期的に最新のデータを確認するなどのデータ管理タスクを自動化します。
注: 例のクエリを試す場合は、Access デスクトップ データベースを使用します。
クエリを使ってデータを見つけて作業する
適切に設計されたデータベースでは、フォームまたはレポートで提供するデータは、通常、複数のテーブルに散らばって存在しています。 クエリでは、さまざまなテーブルから情報を取得し、フォームまたはレポートに表示する情報を組み立てます。 クエリには、データベースからのデータ結果の要求、またはデータに対するアクションの要求、または両方を指定できます。 クエリを使用すると、簡単な質問への回答、計算の実行、異なるテーブルのデータの結合、データベースのデータの追加、変更、または削除を行えます。 クエリは非常に汎用性が高いので、クエリにはさまざまな種類があり、タスクに基づいてクエリの種類を作成します。
主なクエリの種類 |
用途 |
選択 |
テーブルからのデータの取得、計算を実行します。 |
アクション |
データの追加、変更、削除を行います。 各タスクには特定の種類のアクション クエリが含まれています。 Access Web アプリではアクション クエリは使用できません。 |
選択クエリを作成する
テーブル内の特定のフィールドからのデータのみを確認したり、複数のテーブルのデータを同時に確認したり、特定の条件に基づいてデータを表示したりするには、選択クエリの種類を選んで選択します。 詳細については、単純な選択 クエリの作成に関するページを参照してください。
選択フィールドのデータを確認する
たとえば、データベースに製品に関する多くの情報を含むテーブルが含まれています。製品とその価格の一覧を確認する場合は、次の方法で選択クエリを作成し、製品名とそれぞれの価格を返す方法を示します。
-
データベースを開き、[作成] タブ の [クエリ デザイン] をクリックします。
-
[テーブル ] タブ で、Products テーブルを ダブルクリック します。
-
[製品] テーブルで、[製品名] フィールドと [リスト価格] フィールドがある場合を示します。 [製品 名] と [ 表示価格] をダブルクリックして、これらのフィールドをクエリ テーブルに デザイン グリッド。
-
[デザイン] タブの [実行] をクリックします。 クエリが実行され、製品とその価格の一覧が表示されます。
複数の関連テーブルのデータを同時に確認する
たとえば、食べ物を販売する店舗のデータベースを持っている場合、特定の都市に住んでいる顧客の注文を確認する必要がある場合。 注文に関するデータと顧客に関するデータが、それぞれ "顧客" と "注文" という 2 つのテーブルに格納されている場合を考えとします。 各テーブルに [得意先 ID] フィールドがある場合は、2 つのテーブル間で 一対多リレーションシップ を形成します。 次の手順に従って、特定の都市 (ラスベガスなど) の顧客の注文を返すクエリを作成できます。
-
データベースを開きます。 [作成] タブの [クエリ] で [クエリ デザイン] をクリックします。
-
[テーブル] タブで、[顧客と注文] をダブルクリックします。
[得意先] テーブルの [ID] フィールドと [受注] テーブルの [得意先 ID] フィールドを接続する行 (結合と呼ばれる) をメモします。 この行は、2 つのテーブル間のリレーションシップを示します。
-
[顧客] テーブルで、[会社]と [市区町目] をダブルクリックして、これらのフィールドをクエリ デザイン グリッドに追加します。
-
クエリ デザイン グリッドの [市区町名] 列で、[表示] 行のチェック ボックスをオフにします。
-
[市 ] 列の[条件] 行に「ラスベガス」 と入力します。
[表示] チェック ボックスをオフにすると、クエリで都市が結果に表示され、"条件"行に"Las Vegas"と入力すると、"都市" フィールドの値が "ラスベガス" のレコードのみを表示する必要があります。 この場合、クエリは、ラスベガスにある顧客のみを返します。 条件で使用するフィールドを表示する必要はない。
-
[受注] テーブルで、[受注ID]と [受注日] をダブルクリックして、クエリ デザイン グリッドの次の 2 列にこれらのフィールドを追加します。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。 クエリが実行され、ラスベガスの顧客の注文の一覧が表示されます。
-
クエリを保存するには、Ctrl キーを押しながら S キーを押します。
パラメーター クエリを作成する
特定のクエリのバリエーションを頻繁に実行する場合は、パラメーター クエリの使用を検討してください。 パラメーター クエリを実行すると、フィールド値の入力を求めるメッセージが表示され、指定した値を使用してクエリの条件が作成されます。
注: Access Web アプリでパラメーター クエリを作成することはできません。
前の例から、ラスベガスにある顧客の注文を返す選択クエリを作成する方法を学習した後で、クエリを実行するごとに都市を指定するように求めるメッセージが表示される選択クエリを変更できます。 この手順を実行するには、前の例で作成したデータベースを開きます。
-
ナビゲーション ウィンドウで、(前のセクションで作成した) "市区町名別の注文" という名前のクエリを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
-
クエリ デザイン グリッドの [市] 列の [条件] 行で、Las Vegasを削除し、「どの都市の場合」と入力します。
[どの 市区町町区町名を検索しますか?] という文字列はパラメーター プロンプトです。 角かっこは、クエリで入力を求める必要がある場合、テキスト (この場合は、どの市区町町区町区町区町区町
注: どちらもピリオド(.) または感嘆符 (!) をパラメーター プロンプトのテキストとして使用できます。
-
クエリ結果に都市が表示されるので、[市区町名] 列の [表示] 行のチェック ボックスをオンにします。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。 このクエリでは、"市区町町"の値を入力するように求めるメッセージが表示されます。
-
「 ニューヨーク」と入力し、Enter キーを押して、ニューヨークの顧客の注文を表示します。
指定できる値が分からない場合は、 ワイルドカード文字は、プロンプトの一部として使用できます。
-
[ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。
-
クエリ デザイン グリッドの [市区町]列の [条件] 行に「Like」と入力します 。[どの市区町町区町町区町間に対してですか?&"*" .
このパラメーター プロンプトでは 、Like キーワード、アンパサンド (&)、 引用符で囲まれたアスタリスク(*)を使用して、ワイルドカード文字を含む文字の組み合わせを入力して、さまざまな結果を返します。 たとえば、ユーザーが 「*」 と入力すると、クエリはすべての都市を返します。ユーザーが 「L」と入力すると、文字 "L;" で始まるすべての都市が返され、ユーザーが 「*s*」と入力すると、"s" という文字を含むすべての都市が返されます。
-
[デザイン]タブの[結果]グループで [実行] をクリックし、クエリ プロンプトで「新規」と入力し、Enter キーを押します。
クエリが実行され、ニューヨークの顧客の注文が表示されます。
パラメーターのデータ型を指定する
パラメーターでどのようなデータ型を受け入れるようにするかを指定することもできます。 どのパラメーターにもデータ型を設定できますが、特に、数値、通貨、日付/時刻のデータに対してデータ型を設定することが重要です。 パラメーターが受け入れるデータ型を指定した場合、ユーザーが間違ったデータ型を入力すると (通貨が必要な場合にテキストを入力するなど)、わかりやすいエラー メッセージが表示されます。
テキスト データを受け入れるようにパラメーターが設定されている場合、入力はすべてテキストとして解釈され、エラー メッセージは表示されません。
クエリのパラメーターのデータ型を指定するには、次の手順に従います。
-
クエリをデザイン ビューで開き、[デザイン] タブの [表示/非表示] で [パラメーター] をクリックします。
-
[クエリ パラメーター] ダイアログ ボックスの [パラメーター] 列に、データ型を指定する各パラメーターのプロンプトを入力します。 各パラメーターが、クエリ デザイン グリッドの [抽出条件] 行で使用するプロンプトと一致していることをご確認ください。
-
[データ型] 列で、各パラメーターのデータ型を選びます。
詳細については、クエリを実行 するときにパラメーターを使用して入力を求める方法を参照してください。
合計クエリを作成する
データシートの [合計] 行は非常に便利ですが、より複雑な質問の場合は、合計クエリを使用します。 集計クエリは、製品ごとの売上合計を表示する場合など、データをグループ化して集計できる選択クエリです。 集計クエリでは、Sum 関数 (集計関数) を使用して、製品ごとの売上合計を表示できます。
注: Access Web アプリでは集計関数を使用できません。
次の手順に従って、前の例で作成した製品小計クエリを変更し、製品別に製品の小計を集計します。
-
[ホーム] タブの[デザイン ビュー >をクリックします。
製品の小計クエリがデザイン ビューで開きます。
-
[デザイン] タブの [表示/非表示] グループで [集計] をクリックします。
クエリ デザイン グリッド に [合計] 行が表示されます。
注: 名前は似ていますが、デザイングリッドの [合計] 行とデータシートの [合計] 行は同じではありません。
-
デザイン グリッドの [合計] 行を使用して、 フィールド値で グループ化できます。
-
データシートの [合計] 行を、 合計クエリの結果に追加できます。
-
デザイン グリッドで [集計] 行を使用する場合は、フィールドごとに集計関数を選択する必要があります。 フィールドに対して計算を実行しない場合は、フィールドでグループ化できます。
-
デザイン グリッドの 2 番目の列の [集計] 行で、 ドロップダウン リストから [合計 ] を選択します。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。 クエリが実行され、小計を含む製品の一覧が表示されます。
-
クエリを保存するには、Ctrl キーを押しながら S キーを押します。 クエリを開いたままにしてください。
詳細については、「合計行を 使用してデータシートに列の合計を表示する」を参照してください。
データに基づいて計算を行う
集計値が変更された場合、計算値が古くなる可能性があるため、同じデータベース内のデータに基づく場合でも、集計値 (小計など) を格納するテーブルは通常使用されません。 たとえば、毎年値を更新する必要が生じ、他のユーザーの年齢をテーブルに格納するとします。代わりに、ユーザーの生年月日を保存し、クエリを使用してユーザーの年齢を計算します。
たとえば、一部の製品のデータベースを販売する場合などです。 このデータベースには、[受注詳細] というテーブルがあります。各製品の価格や数量などのフィールドに製品に関する情報が含まれています。 各製品の数量をその製品の単価で乗算し、各製品の数量をその製品の単価と割引率で乗算した後、合計割引率から合計割引額を減算するクエリを使用して、小計を計算できます。 前の例でサンプル データベースを作成した場合は、それを開き、次の手順に従います。
-
[作成]タブの[クエリ デザイン ] をクリックします。
-
[テーブル ] タブで、[受注の詳細]をダブルクリックします。
-
[受注詳細] テーブルで[製品 ID] をダブルクリックし、このフィールドをクエリ デザイン グリッドの最初の 列に追加します。
-
グリッドの 2 番目の列で、[フィールド] 行を右クリックし、ショートカット メニューの [ズーム ] をクリックします。
-
[ズーム] ボックスに、小計 ([数量]*[単価])-([数量]*[単価]*[割引])を入力するか貼り付けます。
-
[OK] をクリックします。
-
[デザイン] タブの [ファイル名を指定して実行] を クリックします。 クエリが実行され、注文ごとの製品と小計の一覧が表示されます。
-
Ctrl キーを押しながら S キーを押してクエリを保存し、クエリに製品の小計 という名前を付します。
詳細については、「合計行を 使用してデータシートに列の合計を表示する」を参照してください。
集計データまたは集計データを表示する
テーブルを使用してトランザクションを記録したり、定期的に発生する数値データを格納したりするときに、合計や平均などの集計データを確認できると便利です。 Access では、テーブルに [合計] 行を データシート。 集計行は、データシートの下部にある行で、累計または他の集計値を表示できます。
-
前に作成した製品小計クエリを実行し、結果を新しいウィンドウで データシート ビュー。
-
[ホーム]タブの[合計] をクリックします。 データシートの下部に新しい行が表示され、最初の列に "Total"という単語が表示されます。
-
"合計" という名前のデータシートの最後の行のセルを クリックします。
-
矢印をクリックすると、使用できる集計関数が表示されます。 列にはテキスト データが含まれているため、[なし] と [カウント] の 2 つの 選択肢 があります。
-
[カウント ] を選択します。 セルの内容が [合計] から 列の値の数に変わります。
-
隣接するセル (2 番目の列) をクリックします。 セルに矢印が表示されます。
-
矢印をクリックし、[合計] を クリックします。 フィールドには、列の値の合計が表示されます。
-
クエリはデータシート ビューで開いたままにしてください。
クロス集計クエリを作成する
ここで、製品の小計を確認し、さらに月別に集計し、各行に製品の小計が表示され、各列に 1 か月間の製品の小計が表示されたとします。 製品の小計を表示し、1 か月間の製品の小計を表示するには、次の クロス集計クエリ。
注: クロス集計クエリは、Access Web アプリに表示できません。
製品小計クエリを再び変更して、製品の小計と月次小計の列の行を返します。
-
[ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。
-
[クエリ設定 ] グループで 、[テーブルの 追加 ] (または [テーブルをテーブルに表示] タブ) Access 2013。
-
[注文] をダブルクリックし、[閉じる] を クリックします。
-
[デザイン] タブの [クエリの種類] で [クロス集計] をクリックします。 デザイン グリッドでは、[表示 ] 行が非表示で、[ クロス集計 ] 行が表示されます。
-
デザイン グリッドの 3 番目の列で、[フィールド] 行を右クリックし、ショートカット メニューの [ズーム] をクリックします。 [ ズーム] ボックス が開きます。
-
[ズーム] ボックスに、"月" & DatePart("m", [受注日])と入力するか貼り付けます。
-
[OK] をクリックします。
-
クロス集計行で、ドロップダウン リストから次の値を選択します。最初の列の行見出し、2 番目の列の値、3 番目の列の列見出し。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。 クエリが実行され、月別に集計された製品の小計が表示されます。
-
クエリを保存するには、Ctrl キーを押しながら S キーを押します。
クロス集計クエリの詳細については、「クロス集計クエリを使用して集計データを読みやすく する」を参照してください。
テーブル作成クエリを作成する
テーブル作成クエリを使用して、他のテーブルに格納されているデータから新しいテーブルを作成できます。
注: テーブル作成クエリは、Access Web アプリでは使用できません。
たとえば、シカゴの注文のデータを Access を使用してレポートを準備するシカゴのビジネス パートナーに送信するとします。 すべての注文データを送信する代わりに、シカゴの注文に固有のデータに送信するデータを制限する必要があります。
シカゴの注文データを含む選択クエリを作成し、次の手順に従って選択クエリを使用して新しいテーブルを作成できます。
-
前の例のデータベースの例を開きます。
テーブル作成クエリを実行するには、データベースコンテンツを有効にする必要がある場合があります。
注: データベースの有効化に関するメッセージがリボンの下に表示される場合は、[コンテンツを有効にする ] をクリックします。データベースが既に信頼できる場所にある場合は、メッセージ バーは表示されません。
-
[作成] タブの [クエリ] で [クエリ デザイン] をクリックします。
-
[受注の詳細 ] と [受注]をダブルクリックします。
-
[受注] テーブルで、[得意先ID]と [出荷先市] をダブルクリックして、これらのフィールドをデザイン グリッドに追加します。
-
[受注詳細]テーブルで、[受注 ID]、[製品ID]、[数量]、[単価]、および [割引] をダブルクリックして、これらのフィールドをデザイン グリッドに追加します。
-
デザイン グリッド の [出荷先の 都市] 列で、[表示] 行のボックスを オフ にします。 [条件 ] 行 に「 シカゴ」と入力 します (単一引用符を含む)。 クエリ結果を使用してテーブルを作成する前に確認します。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。
-
Ctrl キーを押しながら S キーを押して、クエリを保存します。
-
[クエリ名 ] ボックスに 「 シカゴ注文クエリ」と入力し 、[OK] をクリックします。
-
[ホーム] タブの [表示] で [表示] をクリックし、[デザイン ビュー] をクリックします。
-
[デザイン] タブの [クエリの種類] グループで [テーブルの作成] をクリックします。
-
[テーブルの作成]ダイアログ ボックスの [テーブル名] ボックスに「シカゴの注文」と入力し、[OK]をクリックします。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。
-
確認ダイアログ ボックスで [はい] をクリックし、ナビゲーション ウィンドウに新しいテーブルが表示されます。
注: 指定した名前のテーブルが既にある場合は、クエリを実行する前にテーブルが削除されます。
テーブル作成クエリの使用の詳細については、「テーブル作成 クエリを作成する」を参照してください。
追加クエリを使用してテーブルから他のテーブルにレコードを追加する
追加クエリを使用して、1 つ以上のテーブルからデータを取得し、そのデータを別のテーブルに追加できます。
注: 追加クエリは、Access Web アプリでは使用できません。
たとえば、シカゴのビジネス アソシエイトと共有するテーブルを作成したが、そのアソシエイトがミルワーキー地域のクライアントと動作するとします。 テーブルを関連付ける前に、Milwaukee の領域データを含む行をテーブルに追加します。 次の手順に従って、ミルワキー地域のデータをシカゴ注文テーブルに追加できます。
-
デザイン ビューで前に作成した "シカゴ注文クエリ" という名前のクエリを開きます。
-
[デザイン] タブの [クエリの種類] グループで [追加] をクリックします。 [ 追加] ダイアログ ボックスが開きます。
-
[追加] ダイアログボックスで、[テーブル名] ボックスの矢印をクリックし、ドロップダウン リストから[シカゴ注文] を選び、[OK]をクリックします。
-
デザイン グリッドの [出荷先の市区町村] 列の [条件] 行で 、'シカゴ' を削除し、「ミルワーキー」と入力します。
-
[追加する フィールド] 行 で、各列に適切なフィールドを選択します。
この例では、[追加]行の値は[フィールド] 行の値と一致する必要がありますが、これは追加クエリが機能する必要はありません。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。
注: 大量のデータを返すクエリを実行していると、クエリを元に戻すことはできないことを伝えるエラー メッセージが表示される場合があります。 メモリ セグメントの制限を 3 MB に拡張し、クエリが問題なく実行されるように試してみてください。
追加クエリの詳細については、「追加クエリを使ってレコードをテーブルに追加する」を参照してください。
更新クエリを作成する
更新クエリを使用してテーブルのデータを変更し、更新クエリを使用して条件を入力し、更新する行を指定できます。 更新クエリを使用すると、更新を実行する前に、更新されたデータを確認できます。
重要: 操作クエリを元に戻すことはできません。 更新クエリを使用して更新するテーブルのバックアップを作成する必要があります。 更新クエリは、Access Web アプリでは使用できません。
前の例では、シカゴの受注テーブルに行を追加しました。 [シカゴ注文] テーブルの [商品 ID] フィールドには、数値の製品 ID が表示されます。 レポートでのデータの使い方を高くするには、製品の名前で製品の名前を置き換え、次の手順に従います。
-
シカゴの注文テーブルをデザイン ビューで開きます。
-
[製品 ID] 行で、[データ型] を [数値] から [文字列] に 変更 します。
-
シカゴ注文テーブルを保存して閉じます。
-
[作成] タブの [クエリ] で [クエリ デザイン] をクリックします。
-
[シカゴの注文と製品] をダブルクリックします。
-
[デザイン] タブの [クエリの種類] グループで、[更新] をクリックします。
-
デザイン グリッドで、[並 べ替え と 表示] の行が消え、[更新 ] 行が表示されます。
-
[ シカゴ注文] テーブルで 、[製品 ID] をダブルクリックして、このフィールドをデザイン グリッドに追加します。
-
デザイン グリッドの [Product ID] 列の[UpdateTo]行に、[Products].[ と入力するか貼り付けます。[製品名]
ヒント: 更新クエリを使用すると、[更新日] 行で空の文字列("")または NULL を使用してフィールド値 を削除 できます。
-
[条件 ] 行 に、[製品 ID] Like ([商品].[ID])
-
更新クエリで変更される値を確認するには、データシート ビューでクエリを表示します。
-
[デザイン] タブで、[表示]、[データシート ビュー] の順にクリックします。 クエリは、更新される製品の一覧を返します。
-
[デザイン] タブの [実行] をクリックします。
[シカゴ注文] テーブルを開いた場合、[商品 ID] フィールドの数値が [商品] テーブルの製品名に置き換えられたと表示されます。
更新クエリの詳細については、「更新クエリを作成して実行する」をご覧ください。
削除クエリを作成する
削除クエリを使用してテーブルからデータを削除し、削除クエリを使用して条件を入力し、削除する行を指定できます。 削除クエリを使用すると、削除を実行する前に削除される行を確認できます。
注: 削除クエリ オプションは、Access Web アプリでは使用できません。
たとえば、前の例からシカゴの受注テーブルをシカゴのビジネス アソシエイトに送信する準備をしている間に、一部の行に多数の空のフィールドが含まれているとします。 テーブルを送信する前に、これらの行を削除することを決定しました。 テーブルを開いて行を手動で削除することもできますが、削除する行が多く、削除する必要がある行の明確な条件がある場合は、削除クエリを使用すると便利な場合があります。
クエリを使用して、次の手順を使用して、注文 ID の値を持つシカゴ注文テーブルの行を削除できます。
-
[作成] タブで [クエリ デザイン] をクリックします。
-
[シカゴ注文 ] をダブルクリックします。
-
[デザイン ] タブ の [クエリの種類 ] グループで [削除] を クリックします。 デザイン グリッドで、[並 べ替え と表示] の 行 が消え、[ 削除] 行が表示されます。
-
シカゴの 注文テーブルで 、[注文 ID] をダブルクリックしてグリッドに追加します。
-
デザイン グリッドの [受注 ID] 列の [ 条件 ] 行に 「Is Null」と入力します。
-
[デザイン] タブの [結果] グループで、[実行] をクリックします。
削除クエリの詳細については、「削除クエリを作成して 実行する」を参照してください。