みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。
win10 filemaker17 です。
解答フィールドと答案フィールドの一致を判断するスクリプトを作りたいのですが、(解答も答案もチェックボックスで適宜選択する)
チェックボックスで複数回答がある場合に、選択した順番が完全一致しないと、例えば if関数で その一致をみている場合は 一致したとみなされず悩んでいます。
そこで、
1、チェックボックスを選んだ順番をなくして(例えば、値の順番にソートして)フィールドに入力する方法。
2、順番が違う場合も、その内容(選択された値)で一致を判断する方法。
について、教えていただければ幸いです。 よろしくお願いします。
(後学のために、もし両方とも方法があれば両方教えていただけると、幸いです。)
複数値を取る事になりますので、単なる条件式ではだめですね。
例えば、ValueCount ( FileterValues ( 答案フィールド ; 解答フィールド ) ) の数を見るといいでしょう。
値一覧と列べ順を揃えるには、FilterValues ( ValueListItems ( Get ( ファイル名 ) ; "値一覧名" ) ) ; 答案フィールド ) の計算式を、フィールドの自動入力の計算式に設定し、上書きを許可しておくといいです。ただし、値一覧以外の値を入力できなくなってしまいますが。
Offline
目的がリスト項目の「1.の部分一致照合」ではなく「2.の完全一致照合」の方だけだから、
「FilterValues関数」とかで完全一致リスト照合するのが唯一解でしょう。
※なお、ValueS系関数の結果には末尾に改行¶が付加されるので、不用なら除去措置が必要となります。
Offline
お使いのバージョンが FileMaker Pro 16 Advanced 以降なので SortValues を利用した計算も可能そうです。
Exact ( SortValues ( 回答 ; 1 ) ; SortValues ( 答案 ; 1 ) )
選択した値を並べ替えて完全一致するか否かを見ています。
Last edited by Moz (2020-02-09 12:06:19)
Offline
お使いのバージョンが FileMaker Pro 16 Advanced 以降なので SortValues を利用した計算も可能そうです。
Exact ( SortValues ( 回答 ; 1 ) ; SortValues ( 答案 ; 1 ) )
選択した値を並べ替えて完全一致するか否かを見ています。
あれ?
問いは、リスト全体の完全一致ではなく、リスト項目ごとの完全一致照合と理解したのですが......。
Offline
ありがとうございます。
FileterValues関数、sortvalues関数について、解決できました。
受験生でしたので、これで心置きなく勉強できます。ありがとうございました!
Offline
Hiro様 Moz様
詳細にご検討ありがとうございます。当方には、どちらも解決となりましたが、今後参考にさせていただける内容となりました!
shin様もありがとうございました。
Last edited by 真治 (2020-02-09 12:34:05)
Offline
Pages: 1
[ Generated in 0.014 seconds, 9 queries executed - Memory usage: 515.84 KiB (Peak: 520.74 KiB) ]