Accessのテーブルから、重複レコードを削除してマスターとなるテーブルを作成する方法です。
同じ構造の空のテーブルを作成して、既存のテーブルから、追加クエリを実行して作成します。
空のテーブルに[主キー]の設定をすることで重複無しのレコードになります。
いくつかの方法があると思いますが、1つの方法として参考にしてください。
参考グループ化の機能を使って重複レコードを削除することもできます。
-
グループ化で重複レコードを削除したテーブルを作成
Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...
作成済みのテーブル
以下のようなテーブル[T_売上]があります。
テーブルは、データシートビューで表示しています。
このテーブルをもとに[製品コード]と[販売単価]フィールドのみで、重複レコードを削除したマスターテーブルを作成します。
参考ここでは[ドキュメントウィンドウオプション]で[タブ付きドキュメント]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
[T_製品コードマスター]テーブルの作成
まず、テーブル[T_売上]をコピーして、貼り付けます。
ショートカットメニューから[コピー]をクリックします。
貼り付けようとすると、[テーブルの貼り付け]ダイアログボックスが表示されます。
テーブル名には、分かりやすい名前を入力します。
ここでは[T_製品コードマスター]としています。
[貼り付けの設定]で[テーブル構造のみ]を選択して、[OK]ボタンをクリックします。
作成したテーブル[T_製品コードマスター]をデザインビューで開きます。
重複レコードを削除したい[製品コード]に[主キー]の設定をします。
主キーを設定することで、重複を削除できます。
[製品コード]フィールドと[販売単価]フィールドを残し、後のフィールドは削除します。
テーブルは保存して閉じます。
このテーブルにはレコードはありません。空っぽのテーブルです。
参考[主キー]の設定については、以下の記事で解説しています。
-
Accessテーブルの[主キー]の設定
Accessのテーブルでは、[主キー](シュキー)を設定することができます。[主キー]とは、各レコードを固有のものとして識別するフィールドの ...
テーブルやクエリなどをコピーして活用する方法は、以下で解説しています。
-
テーブル・クエリなどのオブジェクトをコピーして活用する
Accessの1つのデータベース内でテーブルやクエリ、フォーム、レポートなどのオブジェクトをコピーする方法です。 コピーボタンや貼り付けボタ ...
追加クエリの作成と実行
[作成]タブにある[クエリ]グループの[クエリデザイン]をクリックします。
[テーブルの表示]から[テーブル]タブの[T_売上]を選択して[追加]ボタンをクリックします。
参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。
クエリデザインの「テーブルの追加」は作業ウィンドウに表示される
デザイングリッドにフィールドを登録
[T_売上]にある2つのフィールド[製品コード]と[販売単価]をデザイングリッドに追加します。
フィールドをデザイングリッドにドラッグするか、ダブルクリックすると追加できます。
そして、[デザイン]タブの[クエリの種類]から[追加]をクリックします。
[追加]ダイアログボックスが表示されます。
追加先のテーブル名には先ほど作成した空っぽのテーブル[T_製品コードマスター]を選択して、[OK」ボタンをクリックします。
デザイングリッドに[レコードの追加]行が表示されます。
[デザイン]タブの[結果]グループにある[実行]ボタンをクリックします。
[○○件のレコードを追加します。]というメッセージウィンドウが表示されますので、[はい]をクリックします。
○○件のレコードを追加します。
[はい]をクリックするとレコードが追加され、元に戻すことはできなくなります。
今度は、[追加クエリですべてのレコードを追加できません。]というメッセージウィンドウが表示されます。
[はい]をクリックします。
追加クエリですべてのレコードを追加できません。
型変換エラーのため、0個のフィールドをNUllに設定しました。また、○○件のレコードでキー違反、0件のレコードでロック違反、0件のレコードで入力規則違反が発生したため、レコードを追加できませんでした。
参考追加クエリは、再度使用するようであれば、名前を付けて保存しておくと便利です。
ナビゲーションウィンドウのアイコンをダブルクリックするだけで実行できます。
[T_製品コードマスター]テーブルの確認
[T_製品コードマスター]を開くと、重複レコードが削除されたマスターテーブルが作成されています。
関連グループ化の機能を使って重複レコードを削除することもできます。
Access2013で解説しています。
-
グループ化で重複レコードを削除したテーブルを作成
Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...
追加クエリについては、以下の記事でも解説しています。
-
追加クエリを使ったオートナンバー型フィールドの番号の振り直し
オートナンバー型のあるテーブルでレコードを削除すると、欠番が出てしまいます。 Accessにとっては問題はなくても、見た目としては1から綺麗 ...
-
レコードの差分をテーブルに追加(追加クエリの作成)
Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。 参考ここでは[ドキュメントウィンド ...
-
追加クエリの作成方法(追加先テーブルのフィールドへ特定の値を表示)
1つのテーブルに別のテーブルのレコードを追加する方法です。 3個テーブルがあって、各テーブルのフィールド名は同じです。 ここでは例として、テ ...