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

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

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

You are not logged in.

Announcement

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


#1 2021-09-09 16:47:13

げっさん
Member

チェックボックスを自動的にチェックするには?

Win10 FMP18

何度もお世話になります。

チックボックスフィールドにAとBという値一覧があるとします。
このチェックボックスフィールドのAやBにスクリプトでチェックを入れた
いのですが、どのようすれば良いでしょうか?

Offline

#2 2021-09-09 17:44:30

Shin
Member

Re: チェックボックスを自動的にチェックするには?

チェックボックスを設定しているフィールドを別に作り、編集フィールドに設定してみてください。その入力された内容がどう動いているかをみてみると、スクリプトのヒントになると思います。

Offline

#3 2021-09-10 09:42:58

げっさん
Member

Re: チェックボックスを自動的にチェックするには?

Shinさん

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

おっしゃっていた通り、動きを見るとなかなか単純でした・・・。
失礼しました。

ただ、また別の問題が発生しまして、チェックボックスにチェックを入れたものはそのままにしておきたいのですが、新たに同じスクリプトを実行すると条件が変わり外れてしまうという事態に・・・。
少し悩んでみます。

ありがとうございます!!

Offline

#4 2021-09-10 10:59:02

Shin
Member

Re: チェックボックスを自動的にチェックするには?

複数チェックされたときには、その各項目が改行区切りで並びます。それを行で追加するようにフィールド設定すればいいです。例えば、List()
逆に、チェックを外す処理の方が面倒かもしれません。A と AA があって、A だけを外す(A のみを消す)にはどうすればいいでしょう。考えてみてください。

Offline

#5 2021-09-10 15:57:37

げっさん
Member

Re: チェックボックスを自動的にチェックするには?

Shinさん

コメントありがとうございます。

かなり悩みましたが、結局AとBそれぞれのフィールドを作り、値一覧もそ
れぞれAとBを作った上で、スクリプトのIfでA、Elese IfでBにチェックを
入れるようにしました。そうする事で、計算式でIf関数やCase関数で行う
とどうしてもチェックが外れてしまうのを防げるようになりました。

IfはIfでも、使い方によっては色々出来ると改めて勉強になりました。

本当にありがとうございます!!

Offline

#6 2021-09-10 16:52:14

Shin
Member

Re: チェックボックスを自動的にチェックするには?

却って面倒な処理かもしれませんよ。
Aを加える時 は、
フィールド設定[フィールド ; List ( フィールド ; "A")]
だけでいいです。
A を外す時には、
フィールド設定[フィールド ; Suvstitute ( ¶ & フィールド & ¶ ;[ "¶A¶" ; ¶ ];[ "¶¶" ; ¶ ])]
で良いのですが、先頭に改行がついてしまいます。気になるのでしたら、先頭の1文字を削除します。

Aがチェックされているかどうかは、
ValueCount ( FilterValues ( フィールド ; "A" ) )
でわかります。

Offline

#7 2021-09-17 10:32:53

げっさん
Member

Re: チェックボックスを自動的にチェックするには?

Shinさん

コメントありがとうございます。

Aを加える時 は、
フィールド設定[フィールド ; List ( フィールド ; "A")]
だけでいいです。

なるほど、それだけなんですね!!
正直、計算式ではめちゃくちゃややこしい事してしまったんで、スクリプトにすればあっさり簡潔に出来ました。

If [ Get ( プリンタ名 ) = プリンタA ]
    フィールド設定 [ チェックボックスA ; "A" ]
Else If [ Get ( プリンタ名 ) = プリンタB ]
    フィールド設定 [ チェックボックスB ; "B" ]
End If

チェックを外すことはないので、こちらだけで事足りました。

また一つ、勉強にありました。
ありがとうございます!!

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, 9 queries executed - Memory usage: 579.15 KiB (Peak: 621.34 KiB) ]