みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になっております
FM14 Adv Mac です
フィールドの入力値制限を行い
記号や特殊文字が入力された場合、半角スペースに変換したい。
です。
https://fm-aid.com/bbs2/viewtopic.php?id=1406
こちらを拝見しまして、Filter 関数できるかと思い下記の様に作成しました。
Filter ( CustomerKeyword ; ()_#$%&=-~^¥|[{]}/?.>,<'! )
しかしながら、計算フィールドに記号を入力すると、記号に反応してしまいます。
\で回避できるかと思ったのですが、それもダメな様なので方法がわかりませんでした。
Filter ( CustomerKeyword ; \(\)_#$%&=-~^¥|[{]}/?.>,<'! )
特殊文字を半額スペースに変換する入力制限を行う場合はどの様にしたら良いでしょうか?
よろしくお願い致します。
Offline
> Filter ( CustomerKeyword ; ()_#$%&=-~^¥|[{]}/?.>,<'! )
テキストですから
Filter ( CustomerKeyword ; "()_#$%&=-~^¥|[{]}/?.>,<'!" )
こうしないと。
> 特殊文字を半額スペースに変換する入力制限を行う
フィールド値を置き換えたいのなら、
入力制限ではなく入力値の自動化ですよ。
置き換えは
Substitute関数
ですね。
Offline
Filter()関数の2番目の引数を""で括らないといけません。
でも、半角スペースに変換するのはSubstitute()関数です。
Offline
チポさん
yayaさん
ご返信ありがとうございます。
そうですよね・・・Filterだと指定文字以外ダメってことですよね。。
いろいろすみません。
実は最初にSubstituteを試したんですが、エラーになってしまい混乱しておりました。
この部分にSubstituteで()を半角スペースに変換する様にしたのですが、
この場合ですと、何も入力できません。
Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)
どこが間違っているかご指摘いただけますでしょうか?
よろしくお願い致します。
Last edited by KR (2017-03-29 12:39:51)
Offline
あれっ?
制限するだけなんですか?
半角スペースに置き換えて入力ではないので?
もし置き換えて入力させるのなら
「入力値の制限」ではなく
左の「入力値の自動化化」ではないですか?
Offline
入力値の自動化
と
入力値の制限
をちゃんと分けて考えないと。。
制限は、その計算式の返す値が0かそれ以外で判定されます。
ですから、
FilterやSubstituteでテキストを返すとそれは真となっちゃいますよ。
Offline
シーラカンスさん
チポさん
>左の「入力値の自動化化」ではないですか?
まさにこの通りでした!
いつもありがとうございます。
Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)
ここは合ってたんですね汗
「記号を禁止したい記号を禁止した記号を禁止したい・・・」
とずっと思ってたらなぜかここに入力してしまいました・・・
Offline
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 523.33 KiB (Peak: 528.23 KiB) ]