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

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

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

You are not logged in.

Announcement

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


#1 2017-03-29 06:36:42

KR
Member

記号や特殊文字の入力を制限したい

いつもお世話になっております
FM14 Adv Mac です

フィールドの入力値制限を行い

記号や特殊文字が入力された場合、半角スペースに変換したい。

です。


https://fm-aid.com/bbs2/viewtopic.php?id=1406
こちらを拝見しまして、Filter 関数できるかと思い下記の様に作成しました。
Filter ( CustomerKeyword ; ()_#$%&=-~^¥|[{]}/?.>,<'! )


しかしながら、計算フィールドに記号を入力すると、記号に反応してしまいます。
\で回避できるかと思ったのですが、それもダメな様なので方法がわかりませんでした。

Filter ( CustomerKeyword ; \(\)_#$%&=-~^¥|[{]}/?.>,<'! )


特殊文字を半額スペースに変換する入力制限を行う場合はどの様にしたら良いでしょうか?
よろしくお願い致します。

Offline

#2 2017-03-29 09:17:30

チポ
Member

Re: 記号や特殊文字の入力を制限したい

> Filter ( CustomerKeyword ; ()_#$%&=-~^¥|[{]}/?.>,<'! )
テキストですから
  Filter ( CustomerKeyword ; "()_#$%&=-~^¥|[{]}/?.>,<'!" )
こうしないと。


> 特殊文字を半額スペースに変換する入力制限を行う
フィールド値を置き換えたいのなら、
入力制限ではなく入力値の自動化ですよ。

置き換えは
  Substitute関数
ですね。

Offline

#3 2017-03-29 09:26:09

yaya
Member

Re: 記号や特殊文字の入力を制限したい

Filter()関数の2番目の引数を""で括らないといけません。
でも、半角スペースに変換するのはSubstitute()関数です。

Offline

#4 2017-03-29 12:30:33

KR
Member

Re: 記号や特殊文字の入力を制限したい

チポさん
yayaさん
ご返信ありがとうございます。
そうですよね・・・Filterだと指定文字以外ダメってことですよね。。
いろいろすみません。


実は最初にSubstituteを試したんですが、エラーになってしまい混乱しておりました。

計算式で制限


この部分にSubstituteで()を半角スペースに変換する様にしたのですが、
この場合ですと、何も入力できません。

Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)

どこが間違っているかご指摘いただけますでしょうか?
よろしくお願い致します。

Last edited by KR (2017-03-29 12:39:51)

Offline

#5 2017-03-29 12:53:30

Re: 記号や特殊文字の入力を制限したい

あれっ?
制限するだけなんですか?
半角スペースに置き換えて入力ではないので?
もし置き換えて入力させるのなら
「入力値の制限」ではなく
左の「入力値の自動化化」ではないですか?

Offline

#6 2017-03-29 13:10:22

チポ
Member

Re: 記号や特殊文字の入力を制限したい

入力値の自動化

入力値の制限
をちゃんと分けて考えないと。。


制限は、その計算式の返す値が0かそれ以外で判定されます。

ですから、
FilterやSubstituteでテキストを返すとそれは真となっちゃいますよ。

Offline

#7 2017-03-29 19:08:05

KR
Member

Re: 記号や特殊文字の入力を制限したい

シーラカンスさん
チポさん

>左の「入力値の自動化化」ではないですか?
まさにこの通りでした!
いつもありがとうございます。


Substitute ( CustomerKeyword ;
["(" ; " "] ;
[")" ; " "]
)

ここは合ってたんですね汗



「記号を禁止したい記号を禁止した記号を禁止したい・・・」
とずっと思ってたらなぜかここに入力してしまいました・・・

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 523.33 KiB (Peak: 528.23 KiB) ]