初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2020-11-14 07:41:26

u1
メンバー

[解決] 複数オカレンスでリレーションしているデータをポータルで表示する

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がセットされたメンバーが表示される様にしたい。
どの様に修正すべきかをお教えください。

オフライン

#2 2020-11-14 08:36:40

himadanee
ゲストユーザー

Re: [解決] 複数オカレンスでリレーションしているデータをポータルで表示する

フィルタでやるなら、リレーションはXにしてテーブル名は2つしか使わないです。(これについてgroupの2と3は不要)
id3つを改行区切りで連結したフィールドをキーにしたリレーションを使えば、フィルタは不要です。

#3 2020-11-14 08:39:43

himadanee
ゲストユーザー

Re: [解決] 複数オカレンスでリレーションしているデータをポータルで表示する

言い直すと、現状のオカレンスとリレーションは、今問題にしている「ポータルで表示」には全く使えません。ポータルは1つのオカレンスからしか表示しないので。

#4 2020-11-14 08:43:08

チポ
メンバー

Re: [解決] 複数オカレンスでリレーションしているデータをポータルで表示する

> group_id1
> group_id2
> group_id3

これを一つの繰り返しフィールドか、
改行テキストのフィールドにすれば、
リレーション一つで済みますよ。

オフライン

#5 2020-11-14 08:45:44

Shin
メンバー

Re: [解決] 複数オカレンスでリレーションしているデータをポータルで表示する

<member_table> 側に、
List ( group_id1 ; group_id2 ; group_id3 )
という計算フィールドを作り、それでリレーションしてみてはいかがですか。

オフライン

#6 2020-11-14 10:59:29

u1
メンバー

Re: [解決] 複数オカレンスでリレーションしているデータをポータルで表示する

Shin さんの発言:

<member_table> 側に、
List ( group_id1 ; group_id2 ; group_id3 )
という計算フィールドを作り、それでリレーションしてみてはいかがですか。

これでサクっと対応できました。
ありがとうございました。

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer