2016-09-01 13 views
0

したがって、プロジェクトとタスクの2つのサブフォームを持つAcess 2010のフォームを使用して、SQL Serverの2つのリンクテーブルにバインドされますプロジェクトを読み込むと、タスクはサブフォームに表示されます。サブフォームまたはacSaveRecordにフォーカスを移動するとAccess 2010エラーが発生する

最近、メインフォームのフィールドからサブフォームの任意の領域に移動するたびにエラーon primary key violationが発生しました。これは、プライマリフォームがロードされたものを保存しようとしていることを示していますが、UPDATEではなくINSERTを試みています。

特定のコマンドを実行する可能性のあるコードやイベントは、更新前または更新後のように表示されません。フォームに保存ボタンがあり、このボタンはDoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70を使用していて、同じエラーが発生します。

INSERTの代わりにUPDATEを使用するようにAccessに指示する方法はありますか?

私は周りを見てきましたが、関連する修正が見つからないようです。

ありがとうございました!

EDIT:リンクテーブルのプライマリキーを削除しようとしましたが、エラーが消えてしまいますが、別のレコードに移動するかサブフォームをクリックするたびに重複が挿入されています。だから、誰かがレコードのナビゲーション動作とその設定方法のヒントを持っているなら、私はとても感謝しています!

+0

追加モードでフォームを開く場合は、デフォルトで挿入されます。同様にEditで開くと、デフォルトでUpdateになります。あなたはコードを表示していないか、あなたのフォームがどのようにリンクされているので、私たちはここであまり助けにならないでしょう – dbmitch

+0

あなたは、あなたが思う以上のものを助けています。私はアクセスフォームで多くの経験がありません。メインフォームコードで実行するには、フォームをロードするときにメソッドが指定されていないので、 'DoCmd.OpenForm stDocName、、、stLinkCriteria、acFormEdit'を使用して、ありがとう)しかし、それはケースを変更しないようだ...フォームのスティルは、サブフォーム上の任意の場所をクリックするか、次のレコードに移動しようとするたびにエラーをスローする...それはまだPKを挿入し、次に違反しようとします。 –

+0

私は途中でバインドされたフォームを使用しています。 –

答えて

0

SQLテーブルにトリガが存在する場合、トリガがフロントエンドではなくINSERT文を呼び出している可能性があります。

+0

チェックしましたが、テーブルにトリガーがありません。助けてくれてありがとう。 –

関連する問題