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