変更されたくないので 表示用の計算フィールドにしたりマージフィールドで代用したり…ただ、そのフィールドの値をコピーだけはしたい…というニーズは結構ある。
どうということもない…とそれ用のスクリプトを作るわけだが、そのフィールドの数だけ作るのはアフォみたい。
そこで使い回せる D.R.Y. なコピースクリプト。
FileMaker Magazine の Using Utility Scripts で配布しているサンプルファイルがわかりやすい。
(subscribers only のようなので詳しい陳述は避けて以下理屈だけざっくり説明する)
スクリプト引数は…
GetFieldName ( フィールド名 )
を割り当て、どのフィールドが対象なのかを指定するわけだ。
スクリプト自体やっていることは…
スクリプト引数でパスされたフィールド名からフィールド内容を引っ張り出して GetField でグローバル格納のテキストフィールドにフィールド設定している。
そのうえで、そのグローバル格納のテキストフィールド をコピーしている。[注]
最後のスクリプトステップは [フィールドへ移動]で、フィールド指定無しである。
これはどこかのフィールドに入った後に、フォーカスをはずす定石ね。
[注] コピーのスクリプトステップはコピーされるフィールドが当該レイアウトに存在する必要がある。(ただし普段はじゃまにならないように)、[次の場合にオブジェクトを隠す] で True を指定しておくという手が使える。
これで、スクリプト引数に GetFieldName を使ってフィールド名を渡してやることで、
コピースクリプトを D.R.Y. に使い回せる。
この記事へのコメントはありません。