初心者にもわかるファイルメーカーの
使い方

論理削除機能を作ろう!!

2020-07-02 |  

こんにちは、filemakerチームの久保田です。

今回書かせていただく記事は、論理削除です。

目次

論理削除とは

論理削除の方法


論理削除とは

削除と聞くと、ポップアップにあるレコード削除ボタンが頭に浮かぶのではないでしょうか。
filemakerのマニュアル中級を終了時点の私はそうでした。
なのでまずこの削除ボタンと論理削除の違いについて話します。

削除には2種類存在し、前述で紹介したポップアップにあるレコード削除ボタン(物理削除)と今回のお題である論理削除があります。

物理削除は実行するとそのレコードのデータがファイル上から削除されます。
それに対し、論理削除の場合、実行してもファイル上にデータが残ります。
あれ?削除されてないじゃないか。
でも大丈夫なんです。
なぜならユーザーにはそのレコードが見えないのだから...

解説します。
論理削除機能の主な流れは削除フィールド(削除もしくは未削除を判定する)を作成し、論理削除実行時に、そのフィールドに論理値1を置換するというものです。
そして検索で論理値が0のもの(削除されていないフィールド)を検索することで論理削除されたフィールドを見えなくすることです。
イメージとしてはメールソフトのゴミ箱と似ています。

論理削除を使用するメリットはファイル上にデータが残るという点にあります。
ユーザーが間違えてレコードを削除した時、物理削除だとそのレコードを復元することができません。
しかし論理削除の場合、ファイル上にデータが残るのでデータを復元することができます。

論理削除の方法

1.フィールド作成

はじめにフィールドの作成と設定を行います。

①データベース管理を開く

②データ形式を数字にして削除フィールドを作成する

③ダブルクリックもしくは右下のオプションボタンでオプションを開く

④入力値の自動化にある計算値を開き、self=1と入力する。

※「フィールドに既存の値が存在する場合は置き換えない」と「全ての参照フィールドが空の場合評価しない」のチェックを外す。

これで終了となります。

2.スクリプト作成

論理削除では「置換」の処理を行います。
機能の流れは以下の通りです。

①フィールド設定[テーブル名;1]

②レコードを対象外に

では試してみましょう!

こちらのデータから「商品名」が「チョコ」と書かれた詳細レイアウトに移動します。

バケツアイコンに削除ボタンを仕込んだので押します。

商品名にチョコと書かれたフィールドが表示されなくなり、該当レコード数も10から9に変わっているので、成功です!

いかがだったでしょうか。
今回はフィールド設定を特定のテーブルに対して行いましたが、工夫すれば、このスクリプトだけでどのテーブルに対しても使用することができます。

ではこれで論理削除については以上とさせていただきます。

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