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

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

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

You are not logged in.

Announcement

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


#1 2016-11-12 22:38:59

taro211811
Member

ポータルのフィルタを複数条件で設定する方法について

OS:[Mac OSX10.9.5]
FileMaker Ver:[14]

FileMakerを初めてまもなく、スクリプトや関数の基本を勉強している者です。

ポータルのフィルタを複数条件で設定する方法を御教示いただけますと幸いです。

現在、作成している状況は、以下のとおりです。
1.他のAテーブルとBテーブルをリレーションで繋ぎ、BテーブルにポータルでAテーブルのデータを反映しています。
2.Bテーブル内に、フィルタリングをかけるためのフィールド(以下、「フィルタ用フィールド」と記載)を複数作成しています。
3.各フィルタ用フィールドには値一覧でカスタム値を設定しています。

以上の状況で、行いたいことを以下に順を追って記載いたします。

1.Bテーブルの各フィルタ用フィールドで"TEST"という項目を選択。
2.Bテーブルのポータル内に、"TEST"と入力されているフィールドのみをフィルタリング。

上記までは、
Case ( Bテーブル::BB-1フィールド = "TEST" ;Aテーブル::AA-1フィールド = "TEST";)
という関数でできました。
他のフィルタ用フィールドも上記同様にCase関数で作成して「andやor」を組合わせれば、複数の条件でフィルタリグ可能ですが、
例えば、
・BB-1フィールド(フィルタ用フィールド)で"TEST"を選択。
・BB-2フィールド(フィルタ用フィールド)で"TEST2"を選択。
・BB-3フィールド(フィルタ用フィールド)で"全て"を選択。
とした場合に結果として、

BB-1フィールドの"TEST"とBB-2フィールドの"TEST2"に該当しているデータのみを表示する

ということを行いたいと思っています。

どうかどなたかお力添えをいただきたくお願いいたします。

Offline

#2 2016-11-13 00:59:51

Hiro
Member

Re: ポータルのフィルタを複数条件で設定する方法について

Case(Bテーブル::BB-1="全て"; True; Aテーブル::AA-1=Bテーブル::BB-1)
   and
Case(Bテーブル::BB-2="全て"; True; Aテーブル::AA-2=Bテーブル::BB-2)
   and
・・・
・・・
   and
Case(Bテーブル::BB-n="全て"; True; Aテーブル::AA-n=Bテーブル::BB-n)


もし、一々面倒な「全て」の入力を省略して、代わって、未入力「空欄」は全てを
表示するようにするなら、

Case(IsEmpty(Bテーブル::BB-1); True; Aテーブル::AA-1=Bテーブル::BB-1)
   and
Case(IsEmpty(Bテーブル::BB-2); True; Aテーブル::AA-2=Bテーブル::BB-2)
   and
・・・
・・・
   and
Case(IsEmpty(Bテーブル::BB-n); True; Aテーブル::AA-n=Bテーブル::BB-n)

Last edited by Hiro (2016-11-13 02:08:14)

Offline

#3 2016-11-13 03:23:26

taro211811
Member

Re: ポータルのフィルタを複数条件で設定する方法について

Hiro 様

詳細にご教授いただきありがとうございます。
いただいた方法で解決いたしました。

大変、恐縮ですが、よろしければもう一点ご教授いただけますと幸いです。
先の質問では、値が一致するものをフィルタリングする設定ですが、以下のような場合はどのように設定すればよろしいでしょうか。

・BB-1フィールド(フィルタ用フィールド)で"TEST"を選択。※先の質問と同じ
・BB-2フィールド(フィルタ用フィールド)で"TEST2"を選択。※先の質問と同じ

結果として、上記値を含むフィールドが存在するAテーブルのレコードで他のフィールドのデータを表示する。

例として、

_Aテーブルのフィールド
フィールド1(氏名)=山田太郎
フィールド2(性別)=男性
フィールド3(住所)=東京都
フィールド4(本籍)=沖縄県
-------
_ポータル内項目(Aテーブルからのリレーション)
・住所
・本籍
------
_Bテーブルの検索条件
・氏名=山田太郎
・性別=男性
-------
_結果
住所=東京都
本籍=沖縄県

以上、宜しくお願いいたします。

Offline

#4 2016-11-13 03:40:22

Hiro
Member

Re: ポータルのフィルタを複数条件で設定する方法について

そのままできると思いますヨ。
フィルタリングは関連レコードを対象にしていますから、ポータルの表示フィールドとは無関係です。
例示のことができるか出来ないかをご自身で試して確かめてみて下さい。

Offline

#5 2016-11-13 14:10:18

taro211811
Member

Re: ポータルのフィルタを複数条件で設定する方法について

Hiro 様

ありがとうございます。
そのままで試してみましたが、反応しませんでした。
「ポータル内には、検索条件を含まないといけない」等あるのでしょうか。
ご教授いただけますと幸いです。

Offline

#6 2016-11-13 14:49:12

taro211811
Member

Re: ポータルのフィルタを複数条件で設定する方法について

Hiro 様

ごめんなさい。

同じかたちで新しくポータルを作成しました、対応できました。
既存のポータルに何かしらの不具合があったかと思います。

御丁寧に最後迄ご教授いただき感謝申しあげます。

他にもやりたい事があって方法がわからない事がございますので、新しくトピックを掲載させていただきます。
その折には、どうぞ宜しくお願いいたします。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 517.45 KiB (Peak: 521.99 KiB) ]