みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
どうしてもうまくいかず、お教えください。
ポータルに、入力フィールドがあります。下記のような入力がされているとします。
例:
A(青色)
B(青色)
B(白色)
B(白色)
C(青色)
C(白色)
C(白色)
C(白色)
D(青色)
という具合に入力し、条件式書式で直前のポータルレコードの文字と違う行に、
(青色)をつけたいのですが、うまく動作しません。
条件式書式:計算式:TO伝票_明細::大項目名 ≠ GetNthRecord ( TO伝票_明細::大項目名;Get ( レコード番号 )-1) なら、青色
とやってみましたが、うまくいかず。。
Offline
こちらの検証ではそれで良さそうですが、(先頭だけは白色のままと思いますが)
Offline
Hiroさん、やはりそうですよね。。
今やってたら、上手くいった!と思ったら、またダメで、なんでだろうっと思ってたら原因?がわかりました。
ポータルレコード作成順だと問題ないのですが、
順番フィールドがあり、それでソートをかけている場合に、上手く動作しません。
なんとかできる方法はないでしょうか?
よろしくお願いします。
Offline
ポータルのソート指定はリレーション本体には反映しませんから、
リレーションの方にソートを掛けるよう組み替えると良いでしょう。
Offline
Hiroさん、勉強になりました。
今後使い分けたいと思います。
ただリレーションにしても、結果が伴わず他が起因してるのかもしれません。
ありがとうございます。
Offline
解決済みにしておりましたが、やっと原因がわかり、他の方法でなんとか出来ないか?と思い、
再質問させてください。
レス#1行目どおりなのですが、出来なかった理由が
ポータル内の TO伝票_明細::大項目名の1つ前のレコードをみていると思っていましたが、
伝票レイアウトに明細ポータルを表示しているので、Get(レコード番号)-1だと、
FileMakerの仕様上、伝票レコードの-1を見に行く形になるようです。
つまりポータル内をGet(レコード番号)-1で見に行ってるのではないため、うまく行きませんでした。
試しに明細テーブルをリスト表示し、同様にすると問題なかったため、発覚しました。
そのため、他に方法はないでしょうか?
もしくは子供のポータルレコード-1とかの関数ってあったりしますでしょうか?
お知恵をお貸しください。
Offline
明細テーブル側に「レコード番号」計算フィールド[式:Get(レコード番号)、結果:非保存]を作ると、
ポータルなど明細テーブル::内の動的なレコード番号が取得できます。
式は、 TO伝票_明細::大項目名 ≠ GetNthRecord ( TO伝票_明細::大項目名; TO伝票_明細::レコード番号 -1)
Offline
Hiroさん、いつもありがとうございます。
出来ました!こんな方法があるのですね。勉強になりました。
ありがとうございました!
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 558.26 KiB (Peak: 582.29 KiB) ]