MS Accessに[Insert_Record]および[Delete_Record]という2つのテーブルがあります。両方のテーブルには同じフィールドがありますが、1つのテーブルにはレコードがありますが、別のテーブルにはレコードがありません。
質問:テーブル[Insert_Record]からレコードを削除すると、レコード全体が別のテーブルに自動的に挿入されます。つまり、[レコードの削除]です。
どうすればこれを達成できますか?
Access 2010では、トリガーに似たイベント駆動型 データマクロ が導入されました。質問で説明されているプロセスは、[Insert_Record]テーブルのAfter Deleteデータマクロで簡単に実行できます。
私が理解しているように、Accessにはトリガーがありません。
おそらくあなたができる最善のことは、この種のロジックをテーブルを編集するフォームに入れることです。つまり、削除されたイベントをフォームレベルで処理し、挿入ロジックをそこに配置します。
トリガーが必要な場合は、トリガーをサポートする適切なRDMS(MySQL、MS SQL、Oracle、その他多数)を使用する必要があります。
編集:これを行う別の方法(これは機能する場合と機能しない場合があります)は、ブール列 'IsDeleted'を追加することです。これにより、レコードを別のテーブルに移動する代わりに、論理的に削除することができます。このアプローチの欠点は、削除されたレコードがメインテーブルに残るため、大量の削除があるとパフォーマンスが低下する可能性があることです。
追加クエリを作成して、2番目のテーブルにレコードを追加します。これは、最初のテーブルからレコードを削除するために使用しているフォームのOn Delete Confirmイベントで実行されます。