ACCESSへファイルをインポートした際に、キー違反のエラーが出ることがあります。

こうしたエラーは少しの工夫で回避することが可能です。
今回は、インポート時のキー違反エラー対処法をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。
キー違反エラーが発生する理由は主キーの重複
キー違反エラーはその名の通り、テーブルの主キーの値が重複してしまうために発生するエラーです。
テーブルの主キーはレコードを特定するために、絶対に他のレコードと重複しない値を入力する必要があります。
そのため、インポートするファイルに入力された主キーが既にテーブルに存在するレコードの主キーと重複するとエラーとなってしまうのです。
例えば、以下の売上データテーブルがあります。

このテーブルの主キーは売上IDです。
ここに以下のExcelファイルをインポートするケースを考えてみましょう。

Excelファイルでも売上IDが指定されており、その値が既にテーブルにある売上IDと重複しています。
このパターンでキー違反エラーが発生するのです。
キー違反エラーの回避方法
キー違反エラーを回避するためには、主キーが重複しないようにインポートするファイルを修正する必要があります。
主キーの重複を防ぐデータ加工は、インポート先のテーブルの主キーのデータ型によって異なります。
主キーがオートナンバー型の場合
主キーがオートナンバー型の場合は、レコードを追加すればACCESSが自動的に主キーを採番してくれます。
そのため、インポートするファイルには主キーのフィールドを含める必要がありません。
先ほどの例で言えば、以下のように主キーである売上IDフィールドを削除したファイルをインポートしましょう。

主キーがオートナンバー型以外の場合
主キーがオートナンバー型以外の場合は、インポートするファイルで主キーを指定する必要があります。
この場合は、インポートファイルに手動で重複しない主キーの値を設定しましょう。
先ほどの例でいうと以下のように、売上IDを既存のレコードと重複しないように設定します。

まとめ:キー違反エラーの発生原因と回避方法
まとめです。
キー違反エラーが発生する原因は、インポートするファイルに入力された主キーが既にテーブルに存在するレコードの主キーと重複しているためです。
キー違反エラーを回避するためには、インポートファイルの主キーを重複しない値にするか、そもそも主キーを含まずにインポートするのが良いでしょう。
以上、インポート時のキー違反エラー対処法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

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