この記事では、Access でテーブル作成クエリを作成して実行する方法について説明します。 テーブルのデータをコピーしたり、データをアーカイブしたり、クエリの結果をテーブルとして保存したりする必要がある場合、テーブル作成クエリを使用します。
既存のレコード セットにあるデータの一部 (1 つ以上のフィールドなど) を変更または更新する場合は、更新クエリを使用できます。 更新クエリの詳細については、「更新クエリを作成して実行する」を参照してください。
既存のテーブルにレコード (行) を追加する場合は、追加クエリを使用します。 追加クエリの詳細については、「追加クエリを使用してテーブルにレコードを追加する」を参照してください。
目的に合ったトピックをクリックしてください
テーブル作成クエリを理解する
テーブル作成クエリを実行すると、1 つ以上のテーブルからデータを取得し、その結果セットを新しいテーブルに読み込むことができます。 この新しいテーブルは、すでに開いているデータベースに置くことも、別のデータベースで作成することもできます。
通常、データをコピーまたはアーカイブする必要がある場合は、テーブル クエリを作成します。 たとえば、過去の売上データのテーブル (またはテーブル) があり、そのデータをレポートで使用するとします。 トランザクションが少なくとも 1 日経過しており、データを取得するためのクエリを常に実行するため、売上数値を変更することはできません。特に、大規模なデータ ストアに対して複雑なクエリを実行する場合は、時間がかかる場合があります。 データを別のテーブルに読み込み、そのテーブルをデータ ソースとして使用すると、ワークロードが削減され、便利なデータ アーカイブが提供されます。 進むにつれて、新しいテーブル内のデータは厳密にスナップショットであることを覚えておいてください。ソース テーブルまたはソース テーブルへのリレーションシップまたは接続がありません。
テーブル作成クエリの作成プロセスには、次のようなさまざまな手順が必要です。
-
データベースが署名済みでなかったり、信頼できる場所になかったりする場合は、データベースを有効にします。 この操作を行わないと、アクション クエリ (追加クエリ、更新クエリ、テーブル作成クエリ) を実行できません。
-
クエリ デザイン ビューで、選択クエリを作成し、必要なレコードが返されるまでそのクエリを変更します。 複数のテーブルからデータを選択でき、実際の意味でデータの正規化を解除できます。 たとえば、顧客、荷送人、サプライヤーのデータを 1 つのテーブルに配置できます。これは、適切に正規化されたテーブルを持つ運用データベースでは行われません。 クエリで条件を使用して、結果セットをさらにカスタマイズまたは絞り込むこともできます。
データの正規化の詳細については、「データベース設計の基本」を参照してください。
-
選択クエリをテーブル作成クエリに変換し、新しいテーブルの場所を選んでから、クエリを実行してテーブルを作成します。
テーブル作成クエリと、更新クエリまたは追加クエリを混同しないでください。 各フィールドのデータを追加または変更する場合は、更新クエリを使用します。 既存のテーブルの既存のレコードのセットにレコード (行) を追加する場合は、追加クエリを使用します。
テーブル作成クエリを作成する
テーブル作成クエリを作成するには、最初に選択クエリを作成し、次にこの選択クエリをテーブル作成クエリに変換します。 選択クエリでは演算フィールドと式を使用して必要なデータが返るようにします。 次の手順では、選択クエリの作成方法と変換方法を説明します。 要件を満たす選択クエリが既にある場合は、この手順を省略し、すぐに選択クエリを変換してテーブル作成クエリを実行できます。
選択クエリを作成する
注: 必要なデータを生成する選択クエリが既にある場合は、次の手順に進んでください。
-
[作成] タブの [クエリ] グループで [クエリ デザイン] をクリックします。
-
データを取得するテーブルをダブルクリックします。 クエリ デザイナーの上の部分に、各テーブルがウィンドウとして表示されます。 テーブルの追加が終了したら [閉じる] をクリックします。
-
各テーブルで、クエリで使用するフィールド (複数可) をダブルクリックします。 各フィールドはデザイン グリッドの [フィールド] 行にある空白セルに表示されます。 次の図では、デザイン グリッドにいくつかのテーブル フィールドが追加されています。
-
オプションとして、[フィールド] 行に式を追加することもできます。
-
また、オプションとして、デザイン グリッドの [抽出条件] 行に抽出条件を追加することもできます。
-
[ 実行 ] をクリックしてクエリを実行し、結果をデータシートに表示します。
-
新しいテーブルに保存するデータが返されるまで、必要に応じてフィールド、式、抽出条件を変更してクエリを再実行してください。
選択クエリを変換する
-
選択クエリをデザイン ビューで開くか、またはデザイン ビューに切り替えます。 これを行うには次のようにいくつかの方法があります。
-
データシートでクエリを開いている場合は、クエリのドキュメント タブを右クリックし、[デザイン ビュー] をクリックします。
-
クエリを閉じている場合は、ナビゲーション ウィンドウでクエリを右クリックし、ショートカット メニューの [デザイン ビュー] をクリックします。
-
-
[ クエリ デザイン ] タブの [ クエリの種類 ] グループで、[ テーブルの作成] をクリックします。
[テーブルの作成] ダイアログ ボックスが表示されます。
-
[テーブル名] ボックスに、新しいテーブルの名前を入力します。
または
下矢印をクリックして既存のテーブル名をクリックします。
-
次のいずれかの操作を行います。
-
新規テーブルをカレント データベースに配置する
-
選択されていない場合は、[カレント データベース] をクリックし、[OK] をクリックします。
-
[ 実行 ] をクリックし、[ はい ] をクリックして操作を確認します。
注: 既存のテーブルを置き換える場合、Access ではまずテーブルを削除するため、削除を確認するメッセージを表示します。 [はい] をクリックした後、もう一度 [はい] をクリックすると、新規のテーブルが作成されます。
-
-
新規テーブルを他のデータベースに配置する
-
[他のデータベース] をクリックします。
-
[ファイル名] ボックスに他のデータベースの場所とファイル名を入力します。
または
[参照] をクリックし、新しい [テーブルの作成] ダイアログ ボックスを使用して他のデータベースを見つけ、[OK] をクリックします。
-
[OK] をクリックして最初の [テーブルの作成] ダイアログ ボックスを閉じます。
-
[ 実行 ] をクリックし、[ はい ] をクリックして操作を確認します。
注: 既存のテーブルを置き換える場合、Access ではまずテーブルを削除するため、削除を確認するメッセージを表示します。 [はい] をクリックした後、もう一度 [はい] をクリックすると、新規のテーブルが作成されます。
-
-
クエリの抽出条件と式の詳細
この記事の手順では、クエリの条件と式について説明しました。 クエリ条件は、クエリに含めるレコードを識別するルールであり、特定のデータ セット内のすべてのレコードを表示しない場合に条件を使用します。 たとえば、>25 AND <50 という抽出条件では、25 より大きく 50 より小さい値が返されます。 "Chicago" OR "Paris" OR "Moscow" という抽出条件では、これらの都市のレコードのみが返されます。
抽出条件の使用方法の詳細については、「クエリの抽出条件の例」を参照してください。
式とは、1 つの値に評価される数学演算子、論理演算子、定数、関数とフィールド、コントロール、プロパティの名前を組み合わせたものです。 テーブルに直接存在しないデータが必要な場合は、式を使用します。 たとえば、[単価]*[数量] の式では、"単価" と "数量" のフィールドの値の乗算が実行されます。 式はさまざまな方法で使用でき、その作成と使用のプロセスは非常に複雑になる場合があります。
式の作成と使用の詳細については、「Build an expression」 (式を作成する) を参照してください。
無効モードによってクエリがブロックされないようにする
信頼できる場所に保存されていないデータベースを開いた場合や、データベースを信頼することを選択していない場合、既定ではアクション クエリ (追加、更新、削除、テーブルの作成) をすべて実行できなくなります。
アクション クエリを実行しようとしたのに、何も実行されていないように思われる場合は、Access ステータス バーに次のメッセージが表示されていないか確認してください。
無効モードのため、アクションまたはイベントはブロックされました。
このメッセージが表示されたら、次の操作を実行します。
-
メッセージ バー (リボンのすぐ下) の [コンテンツの有効化] をクリックします。
-
クエリをもう一度実行します。