【FMTips#01】特定フィールドのみ修正情報を取得

2008.05.13

その他

データベースの管理(フィールド定義)で、日付やタイムスタンプのオプションには
入力値の自動化タブがあります。その中には、新規レコード作成時や、レコードのどこかに変更があった場合自動的に日付やタイムスタンプを入れることもでき、便利です。

でもこのオプションは、レコードの修正内容が重要な箇所か否かまで見ている訳ではありません。当然ですね(^^;

そのシステムで夜間、顧客情報の年齢を更新する処理が走った場合、当然ながら該当するレコードの修正者はスクリプトを走らせたマシン名になり、更新日時も夜間になるわけです。

年齢の更新がレコード修正情報として軽微とは言いませんが、更新者や更新日時は特定の重要なフィールドを修正した場合でよい。という場合などに役に立つ計算式がFileMakerヘルプにも掲載されています。

詳しくは Evaluate 関数 に記載されていますが、1フィールドレベルで修正情報を持たせたい場合は入力値の自動化オプションの計算値の内容を

Evaluate ( “Get ( タイムスタンプ )” ; 修正を監視したいフィールド名 )

で入力し、その下の フィールドに既存の値が存在する場合は置き換えない のチェックを外します。

あたなのシステムで現在の作業者名をどこかに保存しているのなら、タイムスタンプの部分を作業者名にすれば修正者情報も取れるのです。
このほうが理にかなってますよね。