【アローラルスタッフブログ】

評判、人気のおすすめ観光スポットはどこ?美味しい河内長野のグルメ情報を比較!アローラホームのご紹介も。

【FileMaker】ある時点でレコードをロック(変更不可)させる方法

2021年10月2日

こんにちは。
システム課の淺野です。

今のスマホのカメラが調子悪いので交換しようかと思っています。
でも、今月6日にGalaxy Z Fold3 5G SCG11(横に開くやつ)が発売されるからそれ買おうかとか思ったり。
悩んでいます。
もうちょっと安かったら良いんですけど・・・。

さて久々のFileMakerです。
テーブルにデーターを入力していてある時点でレコードの変更や修正を出来ないようにしたいというのがあって、作ってみました。

ロックする状態かどうか判断するフィールドの作成

ロックとかいうフィールドを作って"0″なら書き込み可、"1″ならロック状態とします。
ロックする状態かどうか判断するフィールドの作成

入力値の自動化のデータに0を入れて既定値として0が自動入力されるようにします。

ロックさせたいフィールドの設定

ロックさせたいフィールドを入力値の制限、計算式で制限させます。

計算式を以下のように入れます。

If ( ロック = 1 ; 0 ; 1 )は、ロックというフィールドが1なら0を0なら1を返します。
ロックというフィールドが1ならフィールドが制限され、0なら制限されません。

ロックしようとするレコードの判断するフィールドに"1″を書き込むスクリプト作成

ユーザーがロックしたい時点で動作させるスクリプトを作ります(ボタンとかで実行すれば良いでしょう)。
ロックしようとするレコードのフィールドに
親-子、1対nのレコードで子が複数レコードあるのでLoopでフィールドに1を書き込みます。

訂正:ここ要りません

ロック状態ならフィールド移動のスクリプト作成

スクリプトトリガのOnRecordCommitで以下のスクリプトを使います。
ロック状態ならフィールド移動のスクリプト作成
ロックというフィールドが1なら、フィールドへ移動[]となり、入力することが出来ません。
レコードが入力不可の時のメッセージ
OnRecordCommitはレコードの変更が確定された時に動作します。

他にも方法があるかもしれませんが、これで問題ないと思います。

投稿者プロフィール

淺野
淺野
河内長野で勤めてついに11年目に突入。社内のITインフラ、社内システム(FileMaker)、各SNS、Webサイトアローラル三共住販株式会社と大阪府河内長野市の地域情報ポータルサイト河内長野おでかけ情報の面倒をみています。
 河内長野をPRすることで河内長野に住みたい!と思って頂いてアローラホームを建ててもらえたら本望です(^-^) 
たまにランチに行ってブログに投稿しているが評価が甘くなりがちかも。河内長野でランチは酒造通りの三佳屋のランチとか洋食のおとぎ屋のランチが好きです。