ログを記録する
FileMakerには「誰が」「いつ」「どこを」「どのように」変更したという履歴を残す機能がデフォルトではありませんので、開発者自身がその機能を作ることになります。
ログを記録しておく理由にはいくつかありますが、主に、
・誤って入力してしまった場合に後で復活できるようにするため。
・誰がそれを入力したのかを知るため
・データベースの使われ方の統計を取るため
があるでしょうか。
またログはその後のソリューションの改善にも役立ちます。同じような入力ミスが多いようであれば、それを防ぐために、改良しなければいけませんので、そういったことにも役立ちます。
方法
方法はいくつもありますが、簡単な方法を一つご紹介します。
・ログを取りたいテーブルにそれを記録するためのフィールドを作成。
・オプションで、「入力値の自動化」「計算式」を設定します。
・「フィールドに既存の値が存在する場合は置き換えない」のチェックを外します。
・計算式は下記の図のようになります。
この計算式でLet関数を使用します。
最初の変数は、この計算式を起動するためのトリガーです。
変数に代入しているフィールドはログを取りたいフィールドを設定します。
次に、計算で、変更のあったフィールド名、内容、タイムスタンプ、アカウント名を取得して書き込みます。
また、繰り返し記録するため、改行区切りのリストで変更があるたびに追加されていきます。
実際に記録されるログはこんな感じになります。
注意点
この方法には注意点があり、基本的にユーザが手入力したものしか反映されません。フィールド設定のスクリプトステップでは前にフィールドへ移動のステップを使えば反映されますが、フィールドがアクティブにならないものでは、「いつ、誰が」という記録は残りますが、どのように変更されたかというところまでは残りません。