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