FileMakerでつくるときに、今ごろちょっときをつけたこと

まいど。
このあと出ないと。
さくっと。

計算式がサーバ上で重い。

いろんな計算式を走らせるのがFileMakerに限らずプログラムだったりDBのいいところですが。
それを使いすぎると、だんだんとFileMakerが重くなるケースがあります。
特に集計関係をリスト表示でばーっと出したりすると。

計算フィールド×リレーション×集計フィールド

みたいなことが増えてくるのです。
それに対して今ごろおこなった対策

入力によって値が変わるものは自動入力の「計算値+置き換えないを「外す」で」


これでだいたい思うように動いてくれます。
値が変更したときに、再度フィールド内を評価して、数値を変更してくれる。
なので疑似的な計算フィールドっぽく使えます。
かつこれだとインデキシングがされるので、リレーションでも使いやすい。

フィールドがレイアウト上になくてもきちんと動きます。


リレーション先の値を変えたい場合は、スクリプトトリガ+「スクリプトでルックアップ」


入力したときに上記で変更ができるのは「同じテーブルまで」みたい。
リレーション先のレコードを変更させるには、その先のレコードにいって、値を変更しないといけない。
本来これは計算式でできるけど、これが重い要因。

こういう場合には、その値が変更されたときにトリガで「ルックアップ」を起動したら思った通りに動いた。
こちらもレイアウトがなくてもOK。変更先のフィールドは計算値でなくなるので、これまたリレーションに便利に使える。

とはいえ、こちらの欠点は「そのレイアウトから動かさないといけない」って点ね。
なんで、一つのフィールドが色んなレイアウトに在る場合は、きちんとスクリプトを埋め込まないといけない。
データベーステーブルの仕組みの上にあるわけではないので、注意っすね。

ってことで、超簡単ですいませんが。
移動だー。


更新 2011月11日16 18時21分

関連記事

この記事のハッシュタグに関連する記事が見つかりませんでした。

勝又孝幸

株式会社データファーム

FileMakerシステム制作を中心とする「株式会社データファーム」という小さな会社の代表です。2007年から趣味で書いている日記を個人ブログとして現在も続けています。

最新記事

カテゴリー

アーカイブ