みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
先日FileMaker12にバージョンアップしてから、おかしな不具合に悩まされています。
1枚につき25点分の行数があるレイアウトを使って商品リストを印刷しています。
一度に印刷する点数は1点から400点までまちまちです。
フッタに1ページごとの点数を表示する箇所があり、
その点数の出し方を随分前にこちらの掲示板(旧)で教えていただきました。
出し方はボディの任意のフィールドに条件付き書式を設定する下記のような方法です。
※その節はありがとうございました。
ヘッダに
Let($$点数=0;0)
ボディ(行)に
Let ( $$点数 = $$点数 + 1;0 )
フッタに表示
$$点数
先日、FileMaker12にバージョンアップしたところ
なぜか$$点数が2倍になって表示されるようになりました。
何かの拍子に同じ条件付き書式が2箇所に設定されたのかと思い、
ボディの該当書式を削除しますと点数は0になります。
ほとほと困っているのですが、何か疑うべきところはありますでしょうか。
計算式が2回ずつ計算されてるようです。FM13でも同様ですね。
レコードを1回だけ数えるように変更
ヘッダ
Let($$ids="";0)
ボディ
Let([
$$ids=List($$ids;Case(FilterValues($$ids;Get ( レコード ID ))="";Get ( レコード ID )));
$$点数=ValueCount($$ids)
];0)
himaganee様、ありがとうございます。
FM12から仕様変更になって、以前の計算式が使えなくなったということでしょうか。
ただ、新しくごくシンプルなレイアウトを作って試したところ、以前と同じ計算式で2倍になることなく表示されます。
元々、条件付き書式の計算式は何回計算するという仕様は特にないので、ある意味「たまたまうまくいってた」だけです。
FM12v2で、4倍になってた人もいました。
今度のは、ボディでは同じレコードを2回以上カウントすることはないですが、まだ「ヘッダの計算式はボディの前にだけ計算する」という前提がありますから、
何かの条件でその前提が崩れればうまくいかなくなります。
ボディがないページも考慮して、ヘッダは
Let([$$点数=0;$$ids=""];0)
の方が確実。
そうだったのですね。
重ね重ねありがとうございます。
m(__)m
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 551.59 KiB (Peak: 579.23 KiB) ]