みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FileMaker Pro 18 adv.
macOS Catalina
<member_table>
member_id
group_id1
group_id2
group_id3
name
<group_table>
group_id
group_name
*オカレンス:group_table2、group_table3
*以下2つでリレーション
member_table::group_id1 = group_table::group_id
member_table::group_id2 = group_table2::group_id
member_table::group_id3 = group_table3::group_id
上記のテーブル環境で、group_tableに関連付けたレイアウト上で、group_idとgroup_nameを表示し、member_table をポータル表示。
この際に、group_id1、group_id2、group_id3 どれか、もしくは複数設定されていても、ポータル内にmember_table情報が表示される様にするには、ポータル設定のポータルレコードのフィルタで条件を書く必要があると思います。
現在以下の計算が入っています。
member_table::group_id1 = group_table::group_id or
member_table::group_id2 = group_table2::group_id or
member_table::group_id3 = group_table3::group_id
しかし、group_id1 にセットされた時のみにしか、ポータルに情報が表示されません。
他にgroup_id2 や group_id3に設定された時や、複数セットされた時など、どこに値がセットされてもポータルにそのIDがセットされたメンバーが表示される様にしたい。
どの様に修正すべきかをお教えください。
Offline
フィルタでやるなら、リレーションはXにしてテーブル名は2つしか使わないです。(これについてgroupの2と3は不要)
id3つを改行区切りで連結したフィールドをキーにしたリレーションを使えば、フィルタは不要です。
言い直すと、現状のオカレンスとリレーションは、今問題にしている「ポータルで表示」には全く使えません。ポータルは1つのオカレンスからしか表示しないので。
> group_id1
> group_id2
> group_id3
これを一つの繰り返しフィールドか、
改行テキストのフィールドにすれば、
リレーション一つで済みますよ。
Offline
<member_table> 側に、
List ( group_id1 ; group_id2 ; group_id3 )
という計算フィールドを作り、それでリレーションしてみてはいかがですか。
Offline
<member_table> 側に、
List ( group_id1 ; group_id2 ; group_id3 )
という計算フィールドを作り、それでリレーションしてみてはいかがですか。
これでサクっと対応できました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 10 queries executed - Memory usage: 509.23 KiB (Peak: 513.77 KiB) ]