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

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

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

You are not logged in.

Announcement

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


#1 2021-02-28 17:20:23

pon3
Member

レイアウト名で分岐

よろしくおねがいします。
FileMaker19です。

レイアウト名をみて分岐したいのですが、うまくいきません。

Case ( PatternCount ( Get ( レイアウト名 ); "検索" ); A; B )

レイアウト名に間違いなく検索が含まれているのですが、どうしてもBになってしまいます。
このような使い方はできないのでしょうか。

Offline

#2 2021-02-28 18:17:02

himadanee
Guest

Re: レイアウト名で分岐

AとBはフィールド名なんですか?

#3 2021-02-28 18:51:14

pon3
Member

Re: レイアウト名で分岐

最終的にはif文で使いたいです。

if
PatternCount ( Get ( レイアウト名 ); "検索" )

これがなぜか0になってしまいます。

Offline

#4 2021-02-28 19:27:17

himadanee
Guest

Re: レイアウト名で分岐

Ifの中なら、0というよりFalseですよね。
実行したいものがスキップされるということになりますが、処理は何ですか?
Elseはあるんですか?

#5 2021-02-28 21:08:06

pon3
Member

Re: レイアウト名で分岐

同じTA/別のレイアウトで同じスクリプト(レイアウト切り替え)を実行します。
実行するレイアウトによって切り替える先が変わるので、その分岐を行いたいのです。

◯スクリプトを行うレイアウト名と切り替え後のレイアウト名
日報レイアウト→日報ウインドウ
日報レイアウト検索→日報ウインドウ検索


If [PatternCount ( Get ( レイアウト名 ); "検索" )]
レイアウト切り替え [日報ウインドウ検索]

Else
レイアウト切り替え [日報ウインドウ]

End If

Offline

#6 2021-02-28 21:56:12

Shin
Member

Re: レイアウト名で分岐

レイアウトへ移動で、[計算によるレイアウト名...] を使えば簡単では。
計算は、取得したレイアウト名で、文字を置換します。

Offline

#7 2021-02-28 22:01:26

pon3
Member

Re: レイアウト名で分岐

ありがとうございます。

以前、[計算によるレイアウト名...] で指定していて、
後にそれを忘れてレイアウト名を変更して不具合を起こしたことがあるのです。
ですので、別の方法を模索しています。

Offline

#8 2021-02-28 22:39:02

Shin
Member

Re: レイアウト名で分岐

レイアウト名の変更があるのでしたら、Get (.レイアウト名 ) も使えませんよ。レイアウト番号を使いましょう。

Offline

#9 2021-02-28 23:08:27

himadanee
Guest

Re: レイアウト名で分岐

う~ん、Ifのとこへ来る前に既にほかのレイアウトに切り替えちゃってるとかですかねえ?

#10 2021-03-01 08:46:48

Shin
Member

Re: レイアウト名で分岐

それと、ひょっとしたら、PatterCount() には不具合があるのかもしれません。
私のソリューションでも、1箇所だけ PatterCount() を使っている else If が逆の結果を返してきます。データビューワーでは正しく返しているのですが、If の中に入れると変になる...

Offline

#11 2021-03-01 09:17:22

Moz
Member

Re: レイアウト名で分岐

レイアウト名をコピペして計算式を作ってみては?
PatternCount が正常に動作していないならどうしようもないですが。
再現性があれば不具合として報告できますね。

PatternCount を Position にしたらどうでしょう?

Position ( Get ( レイアウト名 ) ; "検索" ; 1 ; 1 )

Offline

#12 2021-03-01 10:22:23

チポ
Member

Re: レイアウト名で分岐

回答では有りませんが、、

一つの汎用スクリプトで、他のレイアウトにも応用しているんですよね。

もう一つ同じスクリプトを作り、
「検索」用と、その他用にすれば、分岐不要になりますよね。

Offline

#13 2022-12-14 23:19:34

run
Guest

Re: レイアウト名で分岐

「一覧」の一番左に作った詳細ボタンをクリックすることで詳細のレイアウトに切り替えたいのですが、例えば、あるフィールドの値が「あ」の場合はレイアウトAへ、「い」と「う」の場合はレイアウトBへ、というようにするにはどうしたらいいのでしょうか?
分かる方、ご教授お願い致します。

#14 2022-12-15 07:10:42

himadanee
Guest

Re: レイアウト名で分岐

その質問は「レイアウト名で分岐」とは関係ないので、新規に立てたほうがいいですが

PatternCountも必要ないので、他の場合がないとしたら
If「あるフィールド="あ"」
レイアウト切り替え「A」
Else
レイアウト切り替え「B」
End
のようにできるでしょう。

元の質問は結局解決してないんですね...

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 521.77 KiB (Peak: 526.31 KiB) ]