削除フラグを利用したレコード削除の仕組み
レコードを削除する際に、即時に削除してしまうよりも、一時的に削除と同じ状態-通常は表示されない等-にしておいて、時間を経てから削除
する方がベターでしょう。
次の図はその比較のフロー図です。上段は一度に削除する場合で、削除してしまうとレコードは失われます。下段は非表示状態にしておく方法で、
やはり削除してよいと判断したら削除し、また利用したい場合には復活をさせるというように、いずれかの選択ができます。
作成手順の概要
- レコードのテーブルに「削除フラグ」フィールドを設けます。データ型はyes/no型にし、削除するレコードにチェックを入れるようにします。
- 表示フォームやレポートには「表示フラグ」にチェックが入っているレコードを除くようにしたクエリーをレコードソースにします。
- 削除対象フォームを作成して削除フラグのついたレコードのみを表示できるようにします。このフォームには完全に削除するためのコマンド ボタンと削除フラグコントロールを設けて、削除または復活の処理を行えるようにします。
参考例
- テーブルに「削除フラグ」フィールドを追加した。
- フォームに「削除フラグ」コントロールを追加した。フォームのレコードソースは「削除フラグ」フィールドにチェックがないものだけに設定する。
これによりフォーム上は表示されないので、削除したことと変わらなくなる。
- 削除フラグレコードの表示フォームを作成した。「レコードの削除」ボタンも設置する。このボタンによりレコードは完全削除される。
また「削除フラグ」コントロールも設置し、チェックを外すことでレコードを復活できるようにします。
- 前のフォームのレコードソースでは、削除フラグにチェックが入ったレコードのみを抽出します。
- これで完成。通常フォームを開いて削除フラグにチェックを入れてみよう。そして削除フラグフォームを開くと該当のレコードのみが表示されている。
完全に削除してよかったら、削除ボタンで削除しよう。尚、レコードを復活させたいときは「削除フラグ」のチェックを外せばよい。
(この項終わり)