テーブルの1つのフロントエンドとして機能するフォームがあります。このテーブルは、他のほとんどすべてのテーブルが関連している最上位のテーブルと考えてください。このフォームに入力したら、特に他のテーブルにも入力したら、誰かが戻ってきて、そのトップレベルフォームの一部のフィールドを編集してほしくないのです。そうすることで、システム全体のロジックが実際に変更されます。これは、所有しているさまざまな輸送機器の過去の保守記録のデータベースがあり、20年後に1台の車両を車から飛行機に変更した場合と似ています。歴史的な記録はもはや意味をなさないでしょう。
ですから、レコードを保存した後、特定のフィールドを編集したくない場合は、それを希望します。レコード全体を削除して最初からやり直すことはOKであり、他のフィールドを変更することもOKです。特定のフィールドを変更しないだけです。さらに、ユーザーが初めてレコードを作成する場合は、気が変わっても問題ありません。しかし、レコードが保存されたら、それで終わりです。
私は主に、VBAを使用してフォームレベルでこれを防ぐことに関心があります。データベースレベルで保護することは不可能だと思います。
私はOnCurrentの何かのように考えており、自動インクリメントIDがnullであるかどうかを確認し、編集はOKですが、IDに値がある場合、編集はありませんか?