初心者のFileMaker pro Q&A

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

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

ログインしていません。

アナウンス

Claris FileMaker Pro ヘルプ
新しい質問は、新規トピック から投稿して下さい。


#1 2023-10-27 20:16:37

tak
メンバー

[解決] ポータルのアクティブ行のボタンだけを表示したい。

ポータル行がアクティブな場合のみ、該当行のボタンを表示させ、非アクティブ行はボタンを非表示にしたいと考えています。
また、ポータル行がアクティブな時には、フィールドの文字を太字にする設定もしたいと思います。
これには条件付き書式を使用しようと考えているのですが、思うように設定ができず困っております。
ご助言いただけますと幸いです。どうぞよろしくお願い申し上げます。

オフライン

#2 2023-10-27 21:05:51

himadanee
ゲストユーザー

Re: [解決] ポータルのアクティブ行のボタンだけを表示したい。

ポータル内のテーブルに非保存計算フィールド(rnとする)
Get(レコード番号)
を作れば、オブジェクトを隠す計算式が
Get(アクティブポータル行番号)<>ポータルテーブル::rn
でできますが、ポータルから出たときに再表示しないと表示されたままになりますね。
ポータルのonObjectExitではできないようなので、どうしたものか。

条件付書式の方は、<>の代りに=ということになりますが、こっちは自動的に再表示されるようです。

#3 2023-10-28 08:54:06

Shin
メンバー

Re: [解決] ポータルのアクティブ行のボタンだけを表示したい。

ポータルに設定した onObjectEnter で リレーション::主キー を引数として、onObjectExit で引数をnullにして、トリガーして、
   変数を設定[$$key ; Get ( スクリプト引数 )]
   ウインドウの再表示
というスクリプトを走らせます。
オブジェクトを隠す計算式を
not ( リレーション::主キー = $$key and isvalid ( リレーション::主キー ) )
としておけば良いようです。
https://www.dropbox.com/scl/fi/q5cmkvfw … htveq&dl=0

ポータル行を使うと、、別にポータルがあったときに動作してしまいますよ。

変なところを修正しました。

編集者 Shin (2023-11-07 14:16:06)

オフライン

#4 2023-11-07 10:50:01

himadanee
ゲストユーザー

Re: [解決] ポータルのアクティブ行のボタンだけを表示したい。

まだ解決しないのかな?
>Get(リレーション::主キー)
ここがちょっと変ですね。

>別にポータルが
なるほど、そこは考えてませんでした。

ポータルだからと言って「ポータル行」を使わなくても主キーで判別できるわけですね。
変数を使うので「onObjectExitではまだ出る前なので」という問題も関係なくなる。
グローバル変数なので他の用途とバッティングしないようにする。

#5 2023-11-15 21:49:21

tak
メンバー

Re: [解決] ポータルのアクティブ行のボタンだけを表示したい。

Shin様、himadanee様

この度は回答が遅れ、大変申し訳ございませんでした。

Shin様よりお送りいただいたファイルを拝見し、内容を理解することができました。また、太字の書式設定に関しては、「$$key = テーブル2::副キー and IsValid ( テーブル2::副キー )」という計算式を用いることで実現できたことをご報告いたします。

当初はGet(アクティブポータル行番号)を使用する方法を考えていましたが、Shin様からの異なるアプローチによって新たな学びが得られました。

親テーブルのflagとテキストフィールドに設定されたスクリプトトリガ(新規ポータル行)の使用方法については、まだ完全には把握できておりませんが、今回の目的は無事達成することができました。

ありがとうございました。

オフライン

クィック投稿

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

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

Board footer