1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【FileMaker】削除日付を自動でセットする

Posted at

さて、FileMaker Advent Calendar 2015 4日目、シリーズものは準備中ですので今日も小ネタのお付き合いをよろしくお願いします。

今日は、「削除日付を自動的にセットする」やり方です。

データは残しておきたいけれど、もう参照しない、というケースないですか?
検索した時にいちいち参照しないデータが出てくるのも嫌ですよね。

作成日付と修正日付はフィールドの指定でセットできますよね。
スクリーンショット 2015-12-03 8.19.16.png

しかし、削除日付の自動設定はFileMaker側用意されていません。

なので、やり方の一つとして、削除フラグを作成し、削除フラグがONになったら削除日付を自動的にセットする仕掛けを紹介します。

スクリーンショット 2015-12-03 8.20.38.png
deleteDT(削除日付)とdeleteFlg(削除フラグ)のフィールドを作ります。

削除フラグは何か値が入っていればいいのですが、ここでは値一覧を利用してチェックを入れる形にしてみます。
スクリーンショット 2015-12-03 8.22.10.png
ON/OFFということで、OFFも値一覧に入れたくなりますが、スクリプトなどでON以外の判断をしなければならないのでONのみで活用します。

レイアウトに削除フラグフィールドを置いて、チェックボックスに先ほど作った値一覧をあてます。
スクリーンショット 2015-12-03 8.22.24.png

では、自動で削除日付が入る仕掛けをしていきます。
deleteFlgにスクリプトトリガを設定します。
スクリーンショット 2015-12-03 8.22.47.png

削除フラグになにかしらデータが入り、変更されたら動くスクリプトを設定します。
イベントは、"OnObjectModify"になります。
スクリーンショット 2015-12-03 8.23.12.png

削除フラグにONが入っていたら、削除日付に日時(タイムスタンプ)を入れます。
もし、チェックが外れたら、削除日付を空にします。
スクリーンショット 2015-12-03 8.25.13.png

セットすると、こんな感じです。
スクリーンショット 2015-12-03 8.25.24.png

スクリプトトリガが設定されているフィールドは、オレンジ色の設定マークがつきます。
スクリーンショット 2015-12-03 8.25.41.png

レイアウトモードからブラウズモードに戻り、早速やってみましょう。
スクリーンショット 2015-12-03 8.25.57.png

2つ目のデータの削除フラグにチェックを入れてみた所です。
スクリーンショット 2015-12-03 8.26.10.png
削除日付が自動で入りましたね!

さて、ここで削除フラグなしのデータを検索してみましょう。
つまり、有効なデータのみを検索する、ということになります。

検索モードで、削除日付に"="を入れます。
スクリーンショット 2015-12-03 8.43.24.png

はい!
削除日付が入っていないデータのみ検索できました。
スクリーンショット 2015-12-03 8.43.32.png

削除日付など運用的なデータを表に出さない場合は、スクリプトなどで「削除フラグが空("")のデータを検索する」など実装すると同じように削除フラグを設定していないデータが検索できます。

いかがでしょうか?
ちょっとしたスクリプトとスクリプトトリガの設定で、データの状態管理ができますので、ぜひ実装してみてください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?