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

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

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

You are not logged in.

Announcement

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


#1 2022-02-21 23:39:12

ダイタイ
Guest

ポータル内フィールドの特定の文字列を判別したい

はじめまして。質問させていただきます。
FMPオンライン学習でいうところの初心者向けの動画を終わったくらいのところなので難しすぎると理解できないかもしれませんが・・・

担当者ごとのレイアウト上にポータルを配置し、タスクを表示しています。
タスクごとに計算フィールドが設置してあり、タスクのレコード内データを反映して「対応中」「対応終了」が自動で反映されるようになっています。
タスクごとの管理はこれで良いのですが、今度はこれを担当者ごとにも確認できるようにしたいです。

つまり、担当者のレイアウトの中にあるタスクのポータルの計算結果によって
「対応中あり」「対応中なし」
というステータスを表示したいということです。
(ポータルの特定フィールド内の「対応中」という文字列の有無で判別したい)

Case関数とPotternCountの関数がよいのかと思い、

Case ( PatternCount("タスクデータ::タスクステータス";"対応中") ≥ 1;"対応中 有";
"対応中 無")

と入れてみたのですが、全て対応中 有になってしまい、機能してません。
なにか良い方法があれば教えていただけると嬉しいです。よろしくお願いいたします。

#2 2022-02-22 06:58:08

himadanee
Guest

Re: ポータル内フィールドの特定の文字列を判別したい

フィールド値を参照する場合フィールド名は””で囲みません。
関連レコードのフィールド名を書くと、最初の関連レコードのフィールド値が参照されるだけなので、この場合List()関数で全部の関連レコードの値を羅列します。
Case ( PatternCount( List ( タスクデータ::タスクステータス ) ; "対応中" ) ; "対応中 有";
"対応中 無")
では?
カウント関数は、なしの場合0(=偽)なので、ありなしの判定に使う場合そのまま論理値に使えます。

ポータルにポータルフィルタがあると、それはList()などの計算結果に反映されないので、別の方法が必要になってきます。

#3 2022-02-22 09:13:18

ダイタイ
Guest

Re: ポータル内フィールドの特定の文字列を判別したい

ありがとうございます!
意図した結果が無事入力されました。
そのままフィールドを挿入すると””がついてしまうので、外すというのは気づきませんでした…

ただ1点修正したい点があり、タスクがなにも割当たってない担当者には空白で返ってくるようになってしまっております。
この場合にも「対応中 無」の表示をしたいのですが、いい方法はございますでしょうか。

引き続きよろしくお願いいたします。

#4 2022-02-22 09:19:09

himadanee
Guest

Re: ポータル内フィールドの特定の文字列を判別したい

計算式を指定するダイアログの一番下にある「すべての参照フィールドが空~~」のチェックを外します。

#5 2022-02-22 13:02:40

ダイタイ
Guest

Re: ポータル内フィールドの特定の文字列を判別したい

無事解決しました。
ありがとうございます。
基本的なことでしたが、丁寧に対応いただきありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 551.74 KiB (Peak: 562.86 KiB) ]