Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。
参考ここでは[ドキュメントウィンドウオプション]で[ウィンドウを重ねて表示する]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
不一致クエリウィザードで差分レコードを抽出
下のような[テーブルA]と[テーブルB]という2つのテーブルがあって、テーブルAには20件、テーブルBには16件のレコードがあります。
そして、不一致クエリウィザードで差分レコードを抽出しました。
差分は、2つのテーブルの差分を求めるで求めたものです。
-
2つのテーブルの差分を求める(不一致クエリウィザード)
Accessで2つのテーブルの不一致レコードを抽出する方法です。 下のように[テーブルA]と[テーブルB]があります。2つのテーブルのうち、 ...
以下は、クエリ[テーブルAとテーブルBとの差分]で求めた結果です。
クエリデザインの表示
求めたレコードをテーブルBに追加します。
[作成]タブの[クエリデザイン]をクリックします。
[テーブルの表示]から[クエリ]タブに切り替えて、[テーブルAとテーブルBとの差分]を選択して、[追加]ボタンをクリックします。
参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。
クエリデザインの「テーブルの追加」は作業ウィンドウに表示される
デザイングリッドにフィールドを登録
フィールドリストの*(アスタリスク)をダブルクリックか、ドラッグしてデザイングリッドのフィールドへ追加します。
全てのフィールドが追加されます。
これについては、すべてのフィールドを追加するを参照してください。
追加先テーブルのIDが[主キー]の場合
もし、追加先のテーブルBのIDに[主キー]が設定されている場合は、テーブルBの[主キー]は外してから実行してください。
[主キー]のままだとキー違反となり追加クエリが実行できません。
IDに重複がなければ、問題ありません。
追加先テーブルのIDがオートナンバー型の場合
追加先テーブルBの[ID]がオートナンバー型であれば、クエリデザインに[ID]フィールドは不要です。
オートナンバー型なので、追加先テーブルでは自動的にIDが振られます。
参考以下の記事でも解説しています。
追加クエリの作成
[デザイン]タブにある[追加]をクリックします。
追加先を指定します。
[テーブル名]のプルダウンメニューをクリックして、
[テーブルB]を選択して、[OK]ボタンをクリックします。
デザインビューは下のようになります。[レコードの追加]行が表示されます。
参考テーブルBの[ID]がオートナンバー型なので、[ID]フィールドは追加していません。
クエリの実行
[デザイン]タブの[結果]グループにある[実行]ボタンをクリックします。
以下のメッセージが表示されますので、[はい]をクリックします。
4件のレコードを追加します。
[はい]をクリックするとレコードが追加され、元に戻すことはできなくなります。
レコードを追加してもよろしいですか?
参考追加クエリを実行するときに表示される確認メッセージは非表示にすることができます。
-
アクションクエリ実行時の確認メッセージを非表示にする
Accesでアクションクエリを実行すると、既定では確認メッセージが表示されます。 このメッセージを非表示にする方法です。 以下の画像は、追加 ...
テーブルで追加レコードの確認
テーブルBを開くと、差分の4件のレコードが追加されています。
追加クエリに名前を付けて保存
追加クエリは、名前を付けて保存しておくといいですね。
ナビゲーションウィンドウの追加クエリ[差分を追加]をダブルクリックすると、追加クエリが実行できます。
作成したクエリをコマンドボタンで実行するための設定は、以下の記事で解説しています。
-
作成したクエリをコマンドボタンに登録して実行する
Accessでクエリを作成した後、コマンドボタンをクリックしてクエリを実行するための方法です。 コマンドボタンウィザードを使用する方法と、マ ...
参考以下の追加クエリの記事も参考になると思います。
-
追加クエリの作成方法(追加先テーブルのフィールドへ特定の値を表示)
1つのテーブルに別のテーブルのレコードを追加する方法です。 3個テーブルがあって、各テーブルのフィールド名は同じです。 ここでは例として、テ ...
-
主キーを設定して追加クエリで重複レコードを削除したテーブルを作成
Accessのテーブルから、重複レコードを削除してマスターとなるテーブルを作成する方法です。 同じ構造の空のテーブルを作成して、既存のテーブ ...
-
追加クエリを使ったオートナンバー型フィールドの番号の振り直し
オートナンバー型のあるテーブルでレコードを削除すると、欠番が出てしまいます。 Accessにとっては問題はなくても、見た目としては1から綺麗 ...
-
追加クエリを使った変更履歴テーブルの作成
追加クエリを使用して、テーブルに変更履歴を残す方法です。 履歴テーブルを作成して、単票フォームの更新日のテキストボックスに更新日を取得するマ ...
アクションクエリの関連記事です。[テーブルの作成]クエリを使用しています。
-
グループ化で重複レコードを削除したテーブルを作成
Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...
以下の記事ではアクションクエリについてまとめています。
-
削除クエリの作成(すべてのレコード/条件を指定したレコード)
Accessでテーブルのすべてのレコードを削除するには、すべてのレコードを選択して削除する方法もありますが、削除クエリを作成して簡単に削除す ...