FileMakerでつくるときに、今ごろちょっときをつけたこと
まいど。
このあと出ないと。
さくっと。
計算式がサーバ上で重い。
いろんな計算式を走らせるのがFileMakerに限らずプログラムだったりDBのいいところですが。
それを使いすぎると、だんだんとFileMakerが重くなるケースがあります。
特に集計関係をリスト表示でばーっと出したりすると。
計算フィールド×リレーション×集計フィールド
みたいなことが増えてくるのです。
それに対して今ごろおこなった対策
入力によって値が変わるものは自動入力の「計算値+置き換えないを「外す」で」で
これでだいたい思うように動いてくれます。
値が変更したときに、再度フィールド内を評価して、数値を変更してくれる。
なので疑似的な計算フィールドっぽく使えます。
かつこれだとインデキシングがされるので、リレーションでも使いやすい。
フィールドがレイアウト上になくてもきちんと動きます。
リレーション先の値を変えたい場合は、スクリプトトリガ+「スクリプトでルックアップ」
入力したときに上記で変更ができるのは「同じテーブルまで」みたい。
リレーション先のレコードを変更させるには、その先のレコードにいって、値を変更しないといけない。
本来これは計算式でできるけど、これが重い要因。
こういう場合には、その値が変更されたときにトリガで「ルックアップ」を起動したら思った通りに動いた。
こちらもレイアウトがなくてもOK。変更先のフィールドは計算値でなくなるので、これまたリレーションに便利に使える。
とはいえ、こちらの欠点は「そのレイアウトから動かさないといけない」って点ね。
なんで、一つのフィールドが色んなレイアウトに在る場合は、きちんとスクリプトを埋め込まないといけない。
データベーステーブルの仕組みの上にあるわけではないので、注意っすね。
ってことで、超簡単ですいませんが。
移動だー。
更新 2011月11日16 18時21分