Windows 7 & Office 2010 Access 2010

主キーを設定して追加クエリで重複レコードを削除したテーブルを作成

投稿日:2017年1月7日 更新日:

Accessのテーブルから、重複レコードを削除してマスターとなるテーブルを作成する方法です。

同じ構造の空のテーブルを作成して、既存のテーブルから、追加クエリを実行して作成します。

空のテーブルに[主キー]の設定をすることで重複無しのレコードになります。

いくつかの方法があると思いますが、1つの方法として参考にしてください。

作成されたマスターテーブル[T_製品コードマスター]

参考グループ化の機能を使って重複レコードを削除することもできます。

グループ化で重複レコードを削除したテーブルを作成

Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...

続きを見る

作成済みのテーブル

以下のようなテーブル[T_売上]があります。

テーブルは、データシートビューで表示しています。

このテーブルをもとに[製品コード]と[販売単価]フィールドのみで、重複レコードを削除したマスターテーブルを作成します。

売上テーブルのデータシートビュー

参考ここでは[ドキュメントウィンドウオプション]で[タブ付きドキュメント]を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

[T_製品コードマスター]テーブルの作成

まず、テーブル[T_売上]をコピーして、貼り付けます。

ショートカットメニューから[コピー]をクリックします。

売上テーブルのショートカットメニュー[コピー]

貼り付けようとすると、[テーブルの貼り付け]ダイアログボックスが表示されます。

ショートカットメニューの[貼り付け]

テーブル名には、分かりやすい名前を入力します。

ここでは[T_製品コードマスター]としています。

[貼り付けの設定]で[テーブル構造のみ]を選択して、[OK]ボタンをクリックします。

[テーブルの貼り付け]ダイアログボックス

作成したテーブル[T_製品コードマスター]をデザインビューで開きます。

[T_製品コードマスター]のショートカットメニュー[デザインビュー]

重複レコードを削除したい[製品コード]に[主キー]の設定をします。

主キーを設定することで、重複を削除できます。

[製品コード]に主キーを設定

[製品コード]フィールドと[販売単価]フィールドを残し、後のフィールドは削除します。

テーブルは保存して閉じます。

このテーブルにはレコードはありません。空っぽのテーブルです。

[製品コード]フィールドと[販売単価]フィールドのみのテーブル

参考[主キー]の設定については、以下の記事で解説しています。

Accessテーブルの[主キー]の設定

Accessのテーブルでは、[主キー](シュキー)を設定することができます。[主キー]とは、各レコードを固有のものとして識別するフィールドの ...

続きを見る

テーブルやクエリなどをコピーして活用する方法は、以下で解説しています。

テーブル・クエリなどのオブジェクトをコピーして活用する

Accessの1つのデータベース内でテーブルやクエリ、フォーム、レポートなどのオブジェクトをコピーする方法です。 コピーボタンや貼り付けボタ ...

続きを見る

追加クエリの作成と実行

[作成]タブにある[クエリ]グループの[クエリデザイン]をクリックします。

[テーブルの表示]から[テーブル]タブの[T_売上]を選択して[追加]ボタンをクリックします。

[テーブルの表示]からテーブル[T_売上]を選択して追加

参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。

クエリデザインの「テーブルの追加」は作業ウィンドウに表示される

デザイングリッドにフィールドを登録

[T_売上]にある2つのフィールド[製品コード]と[販売単価]をデザイングリッドに追加します。

フィールドをデザイングリッドにドラッグするか、ダブルクリックすると追加できます。

デザイングリッドに[製品コード]と[販売単価]フィールドを追加

そして、[デザイン]タブの[クエリの種類]から[追加]をクリックします。

クエリの[追加]のボタン

[追加]ダイアログボックスが表示されます。

追加先のテーブル名には先ほど作成した空っぽのテーブル[T_製品コードマスター]を選択して、[OK」ボタンをクリックします。

[追加]ダイアログボックスで[T_製品コードマスター]を選択

デザイングリッドに[レコードの追加]行が表示されます。

追加クエリのデザイングリッドの[レコードの追加]

[デザイン]タブの[結果]グループにある[実行]ボタンをクリックします。

[デザイン]タブの[結果]グループにある[実行]

[○○件のレコードを追加します。]というメッセージウィンドウが表示されますので、[はい]をクリックします。

○○件のレコードを追加します。
[はい]をクリックするとレコードが追加され、元に戻すことはできなくなります。

[○○件のレコードを追加します。]のメッセージウィンドウ

今度は、[追加クエリですべてのレコードを追加できません。]というメッセージウィンドウが表示されます。

[はい]をクリックします。

追加クエリですべてのレコードを追加できません。
型変換エラーのため、0個のフィールドをNUllに設定しました。また、○○件のレコードでキー違反、0件のレコードでロック違反、0件のレコードで入力規則違反が発生したため、レコードを追加できませんでした。

[追加クエリですべてのレコードを追加できません。]のメッセージウィンドウ

参考追加クエリは、再度使用するようであれば、名前を付けて保存しておくと便利です。

[名前を付けて保存]ウィンドウ

ナビゲーションウィンドウのアイコンをダブルクリックするだけで実行できます。

ナビゲーションウィンドウの追加クエリ[Q_マスターテーブル作成]

[T_製品コードマスター]テーブルの確認

[T_製品コードマスター]を開くと、重複レコードが削除されたマスターテーブルが作成されています。

作成されたマスターテーブル[T_製品コードマスター]

関連グループ化の機能を使って重複レコードを削除することもできます。

Access2013で解説しています。

グループ化で重複レコードを削除したテーブルを作成

Accessで、1つのテーブルで重複したレコードを削除してマスターテーブルを作成する方法です。 クエリでグループ化を設定して重複レコードがな ...

続きを見る

追加クエリについては、以下の記事でも解説しています。

追加クエリを使ったオートナンバー型フィールドの番号の振り直し

オートナンバー型のあるテーブルでレコードを削除すると、欠番が出てしまいます。 Accessにとっては問題はなくても、見た目としては1から綺麗 ...

続きを見る

レコードの差分をテーブルに追加(追加クエリの作成)

Accessで2つのテーブルの不一致レコードを抽出した後、その差分レコードをテーブルへ追加する方法です。 参考ここでは[ドキュメントウィンド ...

続きを見る

追加クエリの作成方法(追加先テーブルのフィールドへ特定の値を表示)

1つのテーブルに別のテーブルのレコードを追加する方法です。 3個テーブルがあって、各テーブルのフィールド名は同じです。 ここでは例として、テ ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 7 & Office 2010 Access 2010

Copyright © 2001-2024 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2024 AllRights Reserved Powered by AFFINGER4.