初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-04-07 11:57:49

tonton
Guest

【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

ポータル内のデータで番号昇順にソートした、番号フィールドがあるのですが、
これを同じ番号のフィールドを最初のフィールドだけ表示して、
その後の同じ番号のフィールドを条件付き書式で表示しないようにしたいのですが、
どのような式で可能となるのか、ご教授をお願いします。
ファイルメーカー12です。

#2 2014-04-07 13:26:10

チポ
Member

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

関連テーブルで
各レコードで値がユニークになるフィールドを作り、
ポータル表示の降順になるように番号を振ります。


自己リレーションを
現在ポータルに表示しているリレーションの照合フィールド同士と、
番号フィールド同士をandで照合し、
ユニークフィールドの降順にソート指定します。



条件付き書式の条件を
  ユニーク ≠ 自己リレーション::ユニーク
として、
文字色を背景色にします。

Offline

#3 2014-04-07 13:43:51

Traveller
Guest

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

ポータルに表示している側のテーブル(明細?)に計算フィールド
GetNthRecord ( 明細::番号 ; Get ( レコード番号 ) )   =  GetNthRecord (明細::番号 ; Get ( レコード番号 ) -1)
を作ってこの結果を使う?

#4 2014-04-07 14:29:39

Moz
Member

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

表示だけでよいならリレーションやフィールドを増やさない方法もあります。

FileMaker 12 からの {{取得関数の中身}} がテキストオブジェクトに配置でき
条件付き書式内で Self すると値そのものが返ってくることを利用します。

テキストオブジェクトを配置して1行目に番号フィールドをマージで(例:<<TO名::番号フィールド>>
改行して2行目に {{レコード番号}} とします。
1行目だけが見えるような状態にインスペクタで高さを調整します。

条件付き書式を以下のように設定します。

非表示のやり方は文字色を背景と同じ色にするでもよし、
FileMaker Go のことを考えないならば 500pt 下付き で見えなくするでもよしです。

Let ( [
行番号 = GetAsNumber ( GetValue ( Self ; 2 ) )
] ;
TO名::数字フィールド = GetNthRecord ( TO名::番号フィールド ; 行番号 - 1 )
) // Let

テキストの2行目にはポータル行番号が入っているので GetValue ( Self ; 2 )で取得します。
GetNthRecord ( 数字フィールド ; 行番号 - 1 ) で 1個前の行番号の番号フィールドの値を取得し、
自身の行の数字フィールドと比較しています。

Last edited by Moz (2014-04-07 14:37:26)

Offline

#5 2014-04-07 16:54:40

tim
Guest

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

計算フィールド(非保存)は
Get ( レコード番号 )
だけにしておくと、どのフィールドにも使えます。

#6 2014-04-07 19:28:56

Traveller
Guest

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

子テーブル側に追加するのは非保存の計算フィールド
Get ( レコード番号 ) だけでいいという意味ですよね。

#7 2014-04-08 09:11:48

tim
Guest

Re: 【ポータル内の条件付き書式】同内容のフィールドを2つ目以降を非表示に

そうです。
Self = GetNthRecord ( Evaluate ( GetFieldName ( Self ) ) ; 子テーブル側::非保存の計算フィールド - 1 )

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 555.8 KiB (Peak: 579.34 KiB) ]