私はAccessデータベースのフロントエンドを持っており、現在のレコードを削除するためのボタンをフォームに配置しようとしています。私はレコードを削除するには、次のVBAコードを使用:レコードを削除しようとしたときにエラー2501
If Me.NewRecord Then
Me.Undo
Exit Sub
End If
DoCmd.RunCommand acCmdDeleteRecord
Me.Requery
Me.Refresh
私はフォームをデータベースに挿入されたレコードでこれを実行すると、それはのDoCmdに実行時エラー「2501」を返します。しかし、データベースにすでに存在していたレコードで実行すると、コードは意図したとおりに完了します。
さらに、他の誰もこのデータベーステーブルにアクセスしていません。私は1つのフォームしか開いていませんでした。
アクセス時に手動でリンクテーブルから削除する場合、同じエラーが発生しましたが、SQL Server Management Studioを使用してデータベースから削除できました。
これは何が起こるのでしょうか?
EDIT
私はいくつかのより多くの調査を行なったし、私はどちらかのアクセスを使用して、ベーステーブル内の新しいレコードを編集することができませんことを見出しました。別のユーザーがレコードを変更したというエラーが表示されます。
ユニークなキーをお持ちですか?リンクを削除して再作成する場合、同じ問題がありますか? – Fionnuala
このテーブルは、良好な主キーで完全に定義されています。 私はテーブルを再リンクしようとしましたが、私はまだ同じ問題があります。 – Rister
テーブルにタイムスタンプフィールドがありますか? –