みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
環境:WINXP FM12ad
名簿のシステムを作成しています。
所属部署毎に休職者、出向者、駐在者などの数を一覧で表示したいと思い
メインの人のテーブル側にCASE関数でそれぞれの場合「1」が入る計算式を作成しました。
メインのテーブルとは別に所属コードがユニークな所属テーブルを作成し、そのテーブルに
所属コードをメインテーブルからインポートします。
メインテーブルと所属テーブルは所属コードでリレーションを張り、所属テーブル側に
SUM関数で休職者、出向者、駐在者などの合計を出すようにしたのですが、非常に膨大な計算
をするのでスクロールも大変な状態になってしまいました。
そこで、計算フィールドではなく数字フィールドにして計算値自動入力で表示させようと
同じSUM関数の式を入れたのですが表示されません。
「フィールドに既存の値がある場合置き換えない」は外してあります。
なぜなんでしょうか?
どなたかお分かりの方ご教授下さい。
宜しくお願い致します
会社の所属コードは常に変更が考えれれるので毎月「所属テーブル」インポートし直ししてリフレッシュしようと考えています。
>非常に膨大な計算をするのでスクロールも大変な状態になってしまいました。
これ、どういう状況ですか?
> 「フィールドに既存の値がある場合置き換えない」は外してあります。
計算式の引数に、
リレーションの参照フィールドを使っていると再計算されません。
理由は分かりませんが、仕様です。
どのような状況なのでしょうか?
Offline
>非常に膨大な計算をするのでスクロールも大変な状態になってしまいました。
これ、どういう状況ですか?
スクロールするたびに計算するので上下になかなか移動できない状態です。
>メインの人のテーブル側にCASE関数でそれぞれの場合「1」が入る計算式を作成しました。
これをやめて、所属でリレーションしてCount(メイン::所属)とかでも同じですか?
>リレーションの参照フィールドを使っていると再計算されません。
参照フィールドを変更した場合のことで、
>「所属テーブル」インポートし直し
すれば、入るはずですよね...
>「所属テーブル」インポートし直し
しても表示されません。
>CASE関数でそれぞれの場合「1」が入る計算式
これはどういうものですか?非保存?
>休職者、出向者、駐在者
まんまテキストで入れておいて、所属テーブル側(のグローバルフィールド)とリレーションした方が簡単かも?(#6のと同じかな)
関連レコード数の計算だから、全然時間がかからないはず。(Sumだと全フィールド値が必要なので遅い)
>CASE関数でそれぞれの場合「1」が入る計算式
これはどういうものですか?非保存?
そうなんです。
非保存の計算式をまた別の計算式で引用するとどんどん複雑になって不安定になってしまうことがわかりました。
何かが変わると変化する計算式のなるべく上流で保存状態にするようにします。
皆さん解決いたしました。
ありがとうございました。
Pages: 1
[ Generated in 0.010 seconds, 7 queries executed - Memory usage: 519.23 KiB (Peak: 523.77 KiB) ]