2016-07-11 1 views
0

データ入力に使用するように設定された書式があります。フォームが開くと空白になりますが、いずれかのフィールドに何かが入力されると、主キーフィールド(フォームでは表示されますが編集できません)は既に使用中の値に設定されます。メインフォームの残りのフィールドは空白のままですが、プライマリキーに対応する値でいっぱいのサブフォームがあります。フォームのソースは、バックエンドからデータベースにリンクされた単一のテーブルです。テーブルにはレコードがありません。エラーの原因となる重複レコードを作成しようとしているデータ入力に使用する書式設定

"インデックス、プライマリキー、またはリレーションシップに重複する値が作成されるため、テーブルに要求した変更が成功しませんでした。データを変更してください重複したデータを含むフィールドまたはフィールドでインデックスを削除するか、重複したエントリを許可してインデックスを再定義して再試行してください。

他のフォームでも同じエラーが発生していますが、これはレコードの更新にのみ使用されます。サブフォームのフィールドに何かが入力されると、エラーが表示されます。

アイデアがありがとうございます! ありがとう

答えて

0

私が理解しているように、アクセスは自動的に自動値フィールドに新しい値を挿入し、この値は既に存在します。その場合はコンパクトで&の修復を実行すると、フィールド番号+1の次の自動番号に値が設定されます。

アクセスは、最大値ではなく内部カウンタを使用して自動番号フィールドの新しい値を生成します。この内部カウンタは、たとえば、INSERT SQL文を使用してオートナンバーフィールドに任意の値を挿入することによって設定できます。また、リンクされたサブフォームを持つフォームのデータを編集する際に行うこともできます。内部カウンタは最後に挿入された値+ 1にリセットされます。コンパクト後&修復カウンタは実際の最大値+1にリセットされます。

+0

ありがとうSergey that worked! – madelina

関連する問題