みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win10 FMP18
何度もお世話になります。
チックボックスフィールドにAとBという値一覧があるとします。
このチェックボックスフィールドのAやBにスクリプトでチェックを入れた
いのですが、どのようすれば良いでしょうか?
Offline
チェックボックスを設定しているフィールドを別に作り、編集フィールドに設定してみてください。その入力された内容がどう動いているかをみてみると、スクリプトのヒントになると思います。
Offline
Shinさん
いつもお世話になります。。
おっしゃっていた通り、動きを見るとなかなか単純でした・・・。
失礼しました。
ただ、また別の問題が発生しまして、チェックボックスにチェックを入れたものはそのままにしておきたいのですが、新たに同じスクリプトを実行すると条件が変わり外れてしまうという事態に・・・。
少し悩んでみます。
ありがとうございます!!
Offline
複数チェックされたときには、その各項目が改行区切りで並びます。それを行で追加するようにフィールド設定すればいいです。例えば、List()
逆に、チェックを外す処理の方が面倒かもしれません。A と AA があって、A だけを外す(A のみを消す)にはどうすればいいでしょう。考えてみてください。
Offline
Shinさん
コメントありがとうございます。
かなり悩みましたが、結局AとBそれぞれのフィールドを作り、値一覧もそ
れぞれAとBを作った上で、スクリプトのIfでA、Elese IfでBにチェックを
入れるようにしました。そうする事で、計算式でIf関数やCase関数で行う
とどうしてもチェックが外れてしまうのを防げるようになりました。
IfはIfでも、使い方によっては色々出来ると改めて勉強になりました。
本当にありがとうございます!!
Offline
却って面倒な処理かもしれませんよ。
Aを加える時 は、
フィールド設定[フィールド ; List ( フィールド ; "A")]
だけでいいです。
A を外す時には、
フィールド設定[フィールド ; Suvstitute ( ¶ & フィールド & ¶ ;[ "¶A¶" ; ¶ ];[ "¶¶" ; ¶ ])]
で良いのですが、先頭に改行がついてしまいます。気になるのでしたら、先頭の1文字を削除します。
Aがチェックされているかどうかは、
ValueCount ( FilterValues ( フィールド ; "A" ) )
でわかります。
Offline
Shinさん
コメントありがとうございます。
Aを加える時 は、
フィールド設定[フィールド ; List ( フィールド ; "A")]
だけでいいです。
なるほど、それだけなんですね!!
正直、計算式ではめちゃくちゃややこしい事してしまったんで、スクリプトにすればあっさり簡潔に出来ました。
If [ Get ( プリンタ名 ) = プリンタA ]
フィールド設定 [ チェックボックスA ; "A" ]
Else If [ Get ( プリンタ名 ) = プリンタB ]
フィールド設定 [ チェックボックスB ; "B" ]
End If
チェックを外すことはないので、こちらだけで事足りました。
また一つ、勉強にありました。
ありがとうございます!!
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 579.15 KiB (Peak: 621.34 KiB) ]