【AccessVBA】同テーブル内の重複コードのあるなしを調べるクエリとコード

Accessで開発している時に、重複コードを登録してしまうことが多々あってなんとかこれを回避しようと思い、作成しました。

このVBAコードは重複クエリも使って調べます。

それでは重複レコードの確認方法、やり方をご紹介します。

【Accessクエリ】重複レコードを抽出するクエリを作成

まずは重複レコードのあるなしを確認しなければなりませんので、重複クエリウィザードを使って重複レコードを抽出するクエリを作ります。

  1. STEP

    作成タブからクエリウィザードを開きます。

  2. STEP

    重複クエリウィザードを選択します。

  3. STEP

    重複を確認したいテーブル名を選択します。

  4. STEP

    重複を確認したい項目を選びます。

    今回は『バーコード』で重複レコードを確認してみます。

    クエリ結果に表示するフィールドを選択して重複クエリは完成です。

    確認してみるとテーブル内に重複レコードが存在していたらクエリ内に表示されます。

重複レコードが存在しない場合は何も表示されません。

この仕組みを使って重複レコードのあるなしを確認します。

【AccessVBA】重複レコードのあるなしを確認するコード

先ほど作成した重複クエリが『統括マスタTの重複レコード』という名前だった場合とします。

VBAコードは以下のようになります。

重複レコードのあるなしを確認するコード
If DCount("*", "統括マスタTの重複レコード") > 0 Then
MsgBox "重複されているコードがあります!確認してください。"
else
MsgBox "重複されているコードはありません。"
end if

解説

IF~の部分で重複レコードのあるなしを判定します。

重複レコードが存在する場合は、『重複されているコードがあります!確認してください。』というメッセージが表示されます。

逆に重複レコードが存在しない場合は、『重複されているコードはありません。』と表示されます。重複レコードがない場合は何もコードを入れなければ何も表示しません。

今回はわかりやすくなるようにメッセージを表示させました。

まとめ

ボタン等にVBAコードを入れておくとボタンを押したときに重複レコードのあるなしを確認することができるので便利に使えると思います。

最後までお読みいただきありがとうございました。

カテゴリー:
関連記事