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

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

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

You are not logged in.

Announcement

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


#1 2018-01-29 18:06:56

pon3
Member

テキストの入った変数の値を変更

よろしくお願いします。
FileMaker16です。

$サイズにMLかLLの文字が入っており、
下記のスクリプトで
MLならばM-L、それ以外ならL-LLに変更しているのですが、
全てL-LLになってしまいます。
何か間違いはありますでしょうか。


Case (
$サイズ = "ML"; "M-L";
"L-LL"
)

Offline

#2 2018-01-29 18:49:30

Moz
Member

Re: テキストの入った変数の値を変更

書かれているのは計算式ですね。
スクリプトならばその前後も書かないとアドバイスが難しいかと。

ローカル変数は[変数を設定]スクリプトステップまたは Let 関数内で設定でき、
設定されたスクリプト内でのみ有効です。
どこで設定されるのでしょう?

Last edited by Moz (2018-01-29 18:50:00)

Offline

#3 2018-01-30 10:40:56

旅人
Member

Re: テキストの入った変数の値を変更

質問内容を理解していませんが
スクリプトではなく「フィールド内容の全置換」ではできないですか。

Offline

#4 2018-01-30 11:19:59

Moz
Member

Re: テキストの入った変数の値を変更

(ノ゚ο゚)ノ
旅人さん、おかえりなさい。
復活ですね。おめでとうございます!

Offline

#5 2018-01-31 10:19:55

pon3
Member

Re: テキストの入った変数の値を変更

ありがとうございます。
入力したフィールド内容を$サイズに格納して、フィルタした後形を変えようとしています。
現在は下記のようなスクリプトで、何を入れても2回目のカスタムダイアログで""になってしまいます。


If [ $番号 = 68 ]
カスタムダイアログを表示 [ $サイズ ]
変数を設定 [ FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
変数を設定 [ Case ( $サイズ = "ML"; "M-L"; $サイズ = "LL"; "L-LL"; $サイズ = "LLL"; "L-LL"; "" ) ]
END If

カスタムダイアログを表示 [ $サイズ ]

Offline

#6 2018-01-31 10:28:22

チポ
Member

Re: テキストの入った変数の値を変更

まだ分かりませんよ。

変数を設定
の変数名が書かれていません。

また、それ以前に
  $番号
  $サイズ
を設定していると思うのですが、それも書かれていません。

Offline

#7 2018-01-31 10:37:38

Moz
Member

Re: テキストの入った変数の値を変更

既にチポさんが書かれていますが、依然状況が不明です。

スクリプトは書かれている部分で全部ですか?

[変数を設定]スクリプトステップは以下のように変数名と計算式で構成されます。

変数を設定 [ $変数名 ; 値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ ) ] 

変数名は何を指定していますか?
また、最初のカスタムダイアログでは何が表示されますか?

Last edited by Moz (2018-01-31 10:38:09)

Offline

#8 2018-01-31 10:40:01

pon3
Member

Re: テキストの入った変数の値を変更

すみません、修正しました。


変数を設定 [ $番号;値: グローバル数字フィールド )
変数を設定 [ $サイズ;値: グローバルテキストフィールド )

If [ $番号 = 68 ]
カスタムダイアログを表示 [ $サイズ ]
変数を設定 [ $サイズ;値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
変数を設定 [ $サイズ;値: Case ( $サイズ = "ML"; "M-L"; $サイズ = "LL"; "L-LL"; $サイズ = "LLL"; "L-LL"; "" ) ]
END If

カスタムダイアログを表示 [ $サイズ ]

Offline

#9 2018-01-31 10:41:35

pon3
Member

Re: テキストの入った変数の値を変更

最初のカスタムダイアログは、テストのためフィールドに値が入っていたか確認するためだけのものです。
この時点ではMLやLLと入っています。

Offline

#10 2018-01-31 10:52:08

Moz
Member

Re: テキストの入った変数の値を変更

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

#11 2018-01-31 11:03:38

pon3
Member

Re: テキストの入った変数の値を変更

改行が入るのですね!!!!!
それは全く気付きませんでした。
本当に助かりました。皆様ありがとうございました。

Offline

#12 2018-01-31 11:14:15

チポ
Member

Re: テキストの入った変数の値を変更

解決ですが

Mozさんも書かれていますが、

> 変数を設定 [ $サイズ;値: FilterValues ( List ( "ML"; "LL"; "LLL" ); $サイズ )
これは全く意味がないですよ。

それ以前に、
元の値がグローバルフィールドに入っているのですから、
それを変数にするのも二度手間ですね。

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: 524.03 KiB (Peak: 528.94 KiB) ]