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

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

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

You are not logged in.

Announcement

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


#1 2020-06-17 11:30:17

げっさん
Member

フィールドを複数条件通り隠すには?

Win10 FMP18

いつもお世話になります。

以前も質問させて頂いたインスペクタ内の動作の「次の場合にオブジェク
トを隠す」に式を入れて一定の条件でフィールドを隠す作業をしていたの
ですがまた疑問が生まれてきました・・・。

Aフィールドが「ほにゃらら」かつBフィールドが「1」ではない時にフィー
ルドを隠したくて以下のような式を作りました。

テーブルオカレンス::A = "ほにゃらら" and テーブルオカレンス::B ≠ 1

確かにAフィールドが「ほにゃらら」の時は隠れてくれるのですが、Bフィー
ルドは「1」でなくても隠れてくれません。

ちなみに、

テーブルオカレンス::A = "ほにゃらら"

テーブルオカレンス::B ≠ 1

と単独の場合、前者は「ほにゃらら」以外ですと隠れますし、後者は「1」
でない時に隠れてくれます。
二つの条件が重なった時、なぜ消えないのでしょうか?

Offline

#2 2020-06-17 11:42:58

Moz
Member

Re: フィールドを複数条件通り隠すには?

具体的には隠れないケースの時のそれぞれの値はどうなっていますか?
書かれているとおりであれば「Aフィールド」が "ほにゃらら" で
「Bフィールド」が1以外の場合に隠れます。

Bフィールドは数字フィールドになっていますか?

Offline

#3 2020-06-17 13:33:59

げっさん
Member

Re: フィールドを複数条件通り隠すには?

Mozさん

いつもありがとうございます。

隠れないケースは例えば以下のような場合です。

Aフィールドに「ほにゃらら」が入っているの場合、Bに「2」や「3」が入
ると隠れますが、何故か「1」の場合は表示されてしまいます。
Bフィールドに「こにゃらら」が入っているの場合、Bにどのような数字が
入っても隠れません。後者は当たり前ですが、前者が理解出来ません・・・。

ちなみに、Bフィールドは数字フィールドになっております。

Offline

#4 2020-06-17 13:36:31

Moz
Member

Re: フィールドを複数条件通り隠すには?

Aフィールドに「ほにゃらら」が入っているの場合、Bに「2」や「3」が入
ると隠れますが、何故か「1」の場合は表示されてしまいます。

表示されるのが正しいですよ。

テーブルオカレンス::A = "ほにゃらら" and テーブルオカレンス::B ≠ 1

Bが1ならば後半の式は成立しませんから表示されます。

Offline

#5 2020-06-17 14:07:50

げっさん
Member

Re: フィールドを複数条件通り隠すには?

Mozさん

Bが1ならば後半の式は成立しませんから表示されます。

確かにそうですね・・・。
何か、大きな勘違いをしておりました。

私がやりたかったのは、Aフィールドに「ほにゃらら」が入っているの場
合は必ず隠す、それに加えてBフィールドに何が入っても隠すという事を
したかったのです。
さらに、Aフィールドに「こにゃらら」が入っている場合、Bフィールドに
「1」が入った時だけ表示させたいという意味でした。

となると、ただ「and」で繋げただけでは意味ないですよね・・・。
「If」やら「Case」を使わなければ、式は成立しませんね・・・。
具体的な式は今考えておりますが、全然思いつきません・・・。

Last edited by げっさん (2020-06-17 14:15:54)

Offline

#6 2020-06-17 14:32:00

Moz
Member

Re: フィールドを複数条件通り隠すには?

Aフィールドに「ほにゃらら」が入っているの場
合は必ず隠す、それに加えてBフィールドに何が入っても隠すという事を
したかったのです。
さらに、Aフィールドに「こにゃらら」が入っている場合、Bフィールドに
「1」が入った時だけ表示させたいという意味でした。

それに加えてっていうのは何を指しますか?
Bに何が入ってもというのはAが「ほにゃらら」ならばですか?
Aが「ほにゃらら」なら必ず非表示なので、A=ほにゃららかつBに何が入ってもの後者は不要ですね。
Aに関係なくBに何か入っていればという条件での式は以下。
短いより分かりやすいことを優先したほうがのちの自分のためになります。
○○の場合は表示するという条件は○○を書いて全体を not で否定すると楽です。

テーブル::A = "ほにゃらら" or 
not IsEmpty ( テーブル::B ) and 
not ( テーブル::A = "こにゃらら" and 
テーブル::B = 1 )

サンプル
https://bit.ly/3ecDWNq

Last edited by Moz (2020-06-17 14:33:24)

Offline

#7 2020-06-17 15:09:10

げっさん
Member

Re: フィールドを複数条件通り隠すには?

Mozさん

正直、良く分からないまま置き換えたら見事に出来ました!!
当初、Ifを繋げて計算式を作って出来ましたが、こちらの方が今後の為に良いですね。

○○の場合は表示するという条件は○○を書いて全体を not で否定すると楽です。

表示させたいというので正直悩みましたが、なるほどnotを使うと否定出来るので確かに楽ですね。
一度も使った事無かったので、これからnotを使うようにしてみます。

サンプルファイルまでありがとうございます!!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.020 seconds, 7 queries executed - Memory usage: 520.02 KiB (Peak: 524.93 KiB) ]