1つのテーブルに別のテーブルのレコードを追加する方法です。
3個テーブルがあって、各テーブルのフィールド名は同じです。
ここでは例として、テーブル[T_B2010]のすべてのレコードをテーブル[T_A2010]に追加します。
以下はテーブルのデザインビューです。3個のテーブルとも同じで以下のようになっています。
[ID]フィールドは[オートナンバー型]です。
クエリデザインの表示
[作成]タブから[クエリデザイン]をクリックします。
[テーブルの表示]から[T_B2010]を選択して、[追加]ボタンをクリックします。
テーブル[T_B2010]のすべてのフィールドをデザイングリッドに表示します。
追加クエリの作成
[デザイン]タブの[クエリの種類]から[追加]をクリックします。
[追加]ダイアログボックスのテーブル名の▼ボタンをクリックします。
追加先テーブルに[T_A2010]を選択します。
[OK]ボタンをクリックします。
下のように[レコードの追加]行が挿入されます。
同じフィールドの場合は、自動的にフィールドが追加されますが、ここでは、追加先テーブルの[ID]が[オートナンバー型]なので削除します。
注意[オートナンバー型]の場合は、必ず削除してください。IDがなくても、[オートナンバー型]なので、次のレコードの番号が自動的に振られます。
[ID]フィールドを削除後、以下のようになります。
参考デザイングリッドの[抽出条件]に条件を追加すると、その条件に合うレコードのみを追加できます。
クエリの実行
デザインビューのまま[結果]グループにある[実行]ボタンをクリックします。
下のようなメッセージウィンドウが表示されますので、[はい]ボタンをクリックします。
参考追加クエリを実行するときにエラーメッセージが表示されるようであれば、以下の記事を参考にしてみてください。
追加クエリを実行するときによくあるエラー - Access(Microsoft)
クエリの保存
クエリに名前を付けて保存します。
ナビゲーションウィンドウには、以下のように表示されます。
参考コマンドボタンをクリックして、追加クエリを実行するための設定については、以下の記事で解説しています。
-
作成したクエリをコマンドボタンに登録して実行する
Accessでクエリを作成した後、コマンドボタンをクリックしてクエリを実行するための方法です。 コマンドボタンウィザードを使用する方法と、マ ...
追加クエリの追加先を変更
追加クエリを作成した後で、追加先テーブルを変更する場合は、クエリのプロパティから変更することができます。
例えば、追加先テーブル[T_A2010]をテーブル[T_C2010]へ変更する場合の方法です。
作成済みの[追加クエリ]をデザインビューで開きます。
クエリプロパティの表示
キーボードから[F4]キーを押すなどして、プロパティシートを表示します。
そして、クエリの何もない箇所でダブルクリックします。
そうすると、クエリプロパティが表示されます。プロパティシートの[選択の種類]が[クエリプロパティ]になっていることを確認します。
クエリプロパティの[追加新規テーブル]で変更
クエリプロパティの[追加新規テーブル]は以下のようになっています。
▼ボタンをクリックします。
そして、テーブル[T_C2010]を選択します。
追加クエリを保存します。
保存した追加クエリを実行すると、以下のメッセージウィンドウが表示されます。
追加クエリを実行すると、テーブルのデータが変更されます。
[はい]をクリックします。
今度は以下のメッセージが表示されますので、[はい]をクリックします。
テーブル[T_C2010]を開くと、テーブル[T_B2010]の40件のレコードが追加されています。
参考アクションクエリ実行時の確認メッセージは、非表示にすることができます。
-
アクションクエリ実行時の確認メッセージを非表示にする
以下のメッセージウィンドウは、追加クエリを実行したときに表示されるメッセージです。このメッセージを非表示にする方法です。 場合によっては、確 ...
追加クエリ実行時のエラー
追加クエリを実行すると、時々、以下の[追加クエリですべてのレコードを追加できません。]というメッセージが表示されることがあります。(画像はAccess2019)
追加クエリですべてのレコードを追加できません。
型変換エラーのため、0個のフィールドをNullに設定しました。0件のレコードでキー違反、0件のレコードでロック違反、1件のレコードで入力規則違反が発生したため、レコードを追加できませんでした。
上記メッセージの[ヘルプ]ボタンをクリックすると、Microsoftの以下のページが表示されると思います。
追加クエリを実行するときによくあるエラー - Access(Microsoft)
私が経験した時のエラーは、追加元のテーブルでは[空文字列の許可]が[はい]になっていたのに、追加先テーブルでは[空文字列の許可]が[いいえ]になっていたのが原因でした。(画像はAccess2019で、あくまでサンプルです。実際のものではありません。)
エラーメッセージが表示されたら、2つのテーブルをデザインビューで開いて、プロパティで異なる箇所がないか確認してみてください。
関連2つのテーブルの差分を追加する追加クエリについては、以下の記事で解説しています。
-
差分を追加(追加クエリ)
Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。 参考ここでは[ドキュメントウィンド ...
以下は、アクションクエリについての関連記事です。
-
レコード削除時の確認メッセージを非表示にする
Accessでレコードを削除しようとすると、毎回、確認メッセージが表示されます。 ○件のレコードを削除します。 [はい]をクリックすると、削 ...
-
変更履歴テーブルの作成
追加クエリを使用して、テーブルに変更履歴を残す方法です。 参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。 ...
-
グループ化で重複レコードを削除したテーブルを作成
Access2013で、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 テーブルの確認 以下のようなテーブル ...
以下の記事ではアクションクエリについてもまとめています。
-
削除クエリを使ってすべてのレコードを削除するには
Accessでテーブルのすべてのレコードを削除するには、すべてのレコードを選択して削除する方法もありますが、削除クエリを使って簡単に削除する ...
オートナンバーの振り直しでも追加クエリを使って解説しています。
-
追加クエリを使ったオートナンバー型フィールドの番号の振り直し
オートナンバー型のあるテーブルでレコードを削除すると、欠番が出てしまいます。 Accessにとっては問題はなくても、見た目としては1から綺麗 ...