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

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

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

You are not logged in.

Announcement

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


#1 2017-01-31 13:47:34

Samu
Member

ポータルのフィルタについて

お世話になります。
FMP15Ad Macです

iPhone用レイアウトにポータルを配置して、その中に日付フィールドを配置してます。
ポータルフィルタ用にポータル外にフィールドを一つ用意して(仮にフィルタフィールド)、そのフィールドでフィルタを実行したいと考えてます。

例えば、フィルタフィールドにはドロップダウンで「すべて」「H29年1月」「平成29年2月」といった値をもってきたいのですが、ドロップダウンリストの値一覧に「レコードとして存在する年月」と「すべて」という選択肢を設定してフィルタリングすることはできますでしょうか?

Offline

#2 2017-01-31 14:12:34

チポ
Member

Re: ポータルのフィルタについて

> 値一覧に「レコードとして存在する年月」と「すべて」という選択肢を設定してフィルタリングする
「レコードとして存在する年月」
これは、
全レコードの年月のリスト
ということですか?

それに、
「すべて」
を加えたリストにしたい?

Offline

#3 2017-01-31 15:45:24

tim
Guest

Re: ポータルのフィルタについて

「すべて」は別のボタンかチェックボックスにした方が作るのも簡単だし、わかりやすいのでは。

#4 2017-01-31 15:48:01

Shin
Member

Re: ポータルのフィルタについて

2017/01 という表示でいいならば、比較的簡単に実現できます。
レコード側に、
Year ( 日付 ) & "/" & Right ( "00" & Month ( 日付 ) ; 2 ) & "¶*"
という計算フィールドを作っておきます。(これを工夫すれば表示の変更は可能)
このフィールドの内容を値一覧に設定しておきます。
ポータルフィルターの条件は、
not IsEmpty ( FilterValues ( リレーション::計算フィールド ; フィルターフィールド ) )
でいいでしょう。
https://www.dropbox.com/s/zipxkws1psxf2 … 7.zip?dl=0

Last edited by Shin (2017-01-31 16:01:50)

Offline

#5 2017-01-31 17:15:00

Samu
Member

Re: ポータルのフィルタについて

>>チポさん
はい。そうです。

>>Shinさん
ありがとうございます。
サンプルファイル参考にさせてもらいます。

Offline

#6 2017-01-31 18:01:33

チポ
Member

Re: ポータルのフィルタについて

既にレスがある通り、
「すべて」
を別にすれば簡単になりますね。


一つにしたいのでしたら、
年月フィールドを作り、日付からご希望の書式にした年月を計算入力。

自己リレーションを「X」で定義し、
もう一つ計算フィールドを作り、その計算式
  List ( List (自己リレーション:: 年月) ; "すべて" )
として、
このフィールドの値一覧を作ります。

この値一覧は
「すべて」
が数字より下にリストされます。

これを一番上に持ってくるには
「ゼロ幅スペース」
でここを検索してみてください。

Offline

#7 2017-01-31 19:52:07

Samu
Member

Re: ポータルのフィルタについて

>>みなさん
ありがとうございます。

Shinさんのサンプルをベースに色々試しました。自分のソリューションに組み込むのにリレーションを「X」で定義するのを忘れてフィルタリングできずに悩んでました(笑)
で、色々考えてやはり「全て」は別ボタンに割り当てた方が実用的かと考えました。
ボタンにポータルのフィルタ「全て」を割り当てるにはどのようにすればいいでしょうか?

Offline

#8 2017-01-31 22:22:00

Shin
Member

Re: ポータルのフィルタについて

私のサンプルそのもので、* を設定する、というボタンで良いですよ。値一覧で選択するのと同じですが。

または、値一覧の内容を ValueListItems() で取り出して、それを設定する、という方法もあります。これを使う時は、フィルターの式もそれに対応させておく必要がありますが。

Offline

#9 2017-02-01 07:39:49

Samu
Member

Re: ポータルのフィルタについて

>>Shinさん
ありがとうございます。

Offline

#10 2017-02-01 12:20:10

Hiro
Member

Re: ポータルのフィルタについて

「すべて」を特記せず、敢えて空欄(未選択)の場合と考えても良いなら至って簡単かと、
つまり、フィルターフィールドが空欄・未選択ならすべて表示するようにするのが一番楽ちん!!

・「年月」計算フィールド(下式)を作り、その年月フィールドで値一覧を組む。
         Year(日付フィールド) & "/" & Right("00" & Month(日付フィールド); 2)
・フィルター条件式(下式)を設定。
         Case(IsEmpty(フィルターフィールド); 1; フィルターフィールド=ポータル::年月フィールド)

Offline

#11 2017-02-02 12:29:34

Samu
Member

Re: ポータルのフィルタについて

>>Hiroさん
ありがとうございます。

そちらの方法も確かに楽チンですね。運用して使用頻度など検証してみようと思います。

Offline

#12 2017-02-02 13:17:43

チポ
Member

Re: ポータルのフィルタについて

> 「すべて」を特記せず、敢えて空欄(未選択)の場合と考えても良いなら
空欄でなくても「すべて」と入力値の自動化でデフォルト入力しておけば、
同じですよね。

見た目も分かりやすいし。。

Offline

#13 2017-02-02 16:14:29

Shin
Member

Re: ポータルのフィルタについて

その「すべて」の意味で * を使ってるんですけど。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 528.05 KiB (Peak: 548.95 KiB) ]