fc2ブログ

2023-06

インデックス、主キー、またはリレーションシップで値が重複

インデックス、主キー、またはリレーションシップで値が重複しているので、
テーブルを更新できませんでした。重複する値のあるフィールドの値を変更するか
インデックスを削除してください。または重複する値を使用できるように再定義してください。


ヘルプを押すと こう書いてあります。
重複できないテーブルの主キーまたはインデックスのフィールドに重複した値を設定しています。

こんなのでました なんのことやら???状態になります
13032801.jpg



accessで学習中の方は 1度は体験するかもしれません
accessでは いろんな不思議エラー現象が時々発生します
これもその一つです

何をしたの?? 本やネットで調べても うまく見つかりません
accessを挫折する原因の多くは ここにあるように思います



原因と修正方法を解説します

原因は 図のようにインデックスを開くと たくさんのインデックスが指定してあります
こんなの知らない?インデックスした覚えはないのに?になります
13032802.jpg

13032803.jpg


主キーとインデックスは似ています(ここでは詳細ははぶきますが)
主キー宣言するとインデックスは自動で設定されます


インデックスが設定されると原則で重複は許されません
フィールドプロパティで 重複なしになります

13032806.jpg


マスタ管理する場合は 必ず主キー宣言します
そのマスタを使うデータの方は テーブルを作成時に 

テーブルを作成する場合フィールドをコピーして作成した場合は
インデックスの設定もコピーしていまいます
そうすると 知らないうちに インデックスが指定さた状態になります

こうなると どうなるかと言うと
そのフィールドで同じ値の入力は重複となり許されません
マスタの主キーの重複はだめなのは当然ですが データ側も同じ状況になってしまいます 

これは 私も時々体験しますが 
テーブルの各フィールドいつのまにかインデックスが指定さた状態になってることがあります

対策は インデックスの掃除です(私の造語です) 

テーブルをデザインで開いてインデックスを確認します 
不要なインデックスがあったら全部カットします
一度カットすると二度と起きません 1回だけの設定処理です


 



Access入門講座ソフト
激安Accessで業務用ソフト作成します。

«  | ホーム |  »

カテゴリー

リンク

プロフィール

むさし

Author:むさし
メール access2003★yahoo.co.jp
★をアットマークに

FC2カウンター