みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
よろしくお願いします。
FileMaker16です。
$サイズにMLかLLの文字が入っており、
下記のスクリプトで
MLならばM-L、それ以外ならL-LLに変更しているのですが、
全てL-LLになってしまいます。
何か間違いはありますでしょうか。
Case (
$サイズ = "ML"; "M-L";
"L-LL"
)
Offline
書かれているのは計算式ですね。
スクリプトならばその前後も書かないとアドバイスが難しいかと。
ローカル変数は[変数を設定]スクリプトステップまたは Let 関数内で設定でき、
設定されたスクリプト内でのみ有効です。
どこで設定されるのでしょう?
Last edited by Moz (2018-01-29 18:50:00)
Offline
質問内容を理解していませんが
スクリプトではなく「フィールド内容の全置換」ではできないですか。
Offline
(ノ゚ο゚)ノ
旅人さん、おかえりなさい。
復活ですね。おめでとうございます!
Offline
ありがとうございます。
入力したフィールド内容を$サイズに格納して、フィルタした後形を変えようとしています。
現在は下記のようなスクリプトで、何を入れても2回目のカスタムダイアログで""になってしまいます。
If [ $番号 = 68 ]
カスタムダイアログを表示 [ $サイズ ]
変数を設定 [ FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
変数を設定 [ Case ( $サイズ = "ML"; "M-L"; $サイズ = "LL"; "L-LL"; $サイズ = "LLL"; "L-LL"; "" ) ]
END If
カスタムダイアログを表示 [ $サイズ ]
Offline
まだ分かりませんよ。
変数を設定
の変数名が書かれていません。
また、それ以前に
$番号
$サイズ
を設定していると思うのですが、それも書かれていません。
Offline
既にチポさんが書かれていますが、依然状況が不明です。
スクリプトは書かれている部分で全部ですか?
[変数を設定]スクリプトステップは以下のように変数名と計算式で構成されます。
変数を設定 [ $変数名 ; 値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ ) ]
変数名は何を指定していますか?
また、最初のカスタムダイアログでは何が表示されますか?
Last edited by Moz (2018-01-31 10:38:09)
Offline
すみません、修正しました。
変数を設定 [ $番号;値: グローバル数字フィールド )
変数を設定 [ $サイズ;値: グローバルテキストフィールド )
If [ $番号 = 68 ]
カスタムダイアログを表示 [ $サイズ ]
変数を設定 [ $サイズ;値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
変数を設定 [ $サイズ;値: Case ( $サイズ = "ML"; "M-L"; $サイズ = "LL"; "L-LL"; $サイズ = "LLL"; "L-LL"; "" ) ]
END If
カスタムダイアログを表示 [ $サイズ ]
Offline
最初のカスタムダイアログは、テストのためフィールドに値が入っていたか確認するためだけのものです。
この時点ではMLやLLと入っています。
Offline
FilterValues 関数の戻り値は改行で終了します。
そのため、 $サイズが「ML」という値の場合、
最初の[変数を設定]スクリプトステップのところで結果は「ML¶」となります。
2番目の[変数を設定]の条件式はいずれにも合致せず、空欄「""」が返ります。
合致しなければ空欄という条件があるので最初の[変数を設定]が無くてもよいかなと思います。
FilterValues 関数
https://fmhelp.filemaker.com/help/16/fm … alues.html
Last edited by Moz (2018-01-31 10:52:30)
Offline
改行が入るのですね!!!!!
それは全く気付きませんでした。
本当に助かりました。皆様ありがとうございました。
Offline
解決ですが
Mozさんも書かれていますが、
> 変数を設定 [ $サイズ;値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
これは全く意味がないですよ。
それ以前に、
元の値がグローバルフィールドに入っているのですから、
それを変数にするのも二度手間ですね。
Offline
Pages: 1
[ Generated in 0.009 seconds, 10 queries executed - Memory usage: 522.1 KiB (Peak: 527.01 KiB) ]