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

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

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

You are not logged in.

Announcement

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


#1 2023-05-10 14:40:31

tfm
Member

フィールドに/を(スラッシュ)入力不可にしたいです。

いつも大変お世話になっております

バージョン19.6.3.302になります。

案件名、場所という2つのフィールドがあり、諸々品物を入力して、最終的に印刷orPDF化しています。

案件名or場所に/(スラッシュ)が入ると印刷できず、スクリプトの設定を変更すると手間なので、フィールドに/を入力不可にしたいのですが、可能でしょうか?
何卒よろしくお願いいたします。

Offline

#2 2023-05-10 15:34:42

himadanee
Guest

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

フィールド値の制限を計算式で
Filter ( Self ; "\\" ) = ""
とか?

#3 2023-05-10 15:36:10

himadanee
Guest

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

あれ?なぜかバックスラッシュだと思い込んで"¥¥"と書いてしまいましたが、"/"です。

スラッシュが印刷できないというのは、謎ですが。。。

#4 2023-05-10 15:47:07

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

himadaneeさん
ありがとうございます。試してみます。
とても端折った説明ですが、
Get (デスクトップパス)を使用しています。

Offline

#5 2023-05-10 15:54:34

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

himadaneeさん
計算式で制限にチェックマークを入れ、下記の計算式を入力しました。
Filter ( Self ;"/" ) = ""

カスタムダイアログは出るのですが、入力できてしまいます。
問答無用で入力不可にはできないでしょうか・・・?

何か間違っていたら教えていただけるとありがたいです。

申し訳ありませんが、何卒よろしくお願いいたします。

Offline

#6 2023-05-10 16:18:55

チポ
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

入力値の制限で、
  データの入力時にユーザーによる上書きを許可する
のチェックを外すと絶対に入力できなくなります。


入力値の自動化ではなく、
スクリプトトリガ
OnObjctExit
のスクリプトで、制限にかかるとそのフィールドから抜けられなくできますよ。

Offline

#7 2023-05-10 17:48:42

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

https://fm-aid.com/bbs2/viewtopic.php?id=12367

の延長戦ですかね?

「/」だけじゃなく、「:」「¥」も不可にしないと同じことが起こりますね。

Offline

#8 2023-05-10 18:20:12

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

さすらいのダンサーさん

おっしゃる通り、このスクリプトです。
「:」「¥」はほぼ使われないので放っておこうかなと思いました。ですが、そうなのですね。大変参考になります。
OnObjctExitは別のスクリプトを使用しているので、上書きを許可するのチェックを外すで対応しようかなと思っております。

/も頻度は多くはありませんので・・・

Offline

#9 2023-05-10 18:29:30

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

絶対に入ってはいけない文字なんでしょうから、Substitute() で消してしまう処理を行えばいいのでは。
ダイアログを出しておけば、ちょっと親切でしょうね。ダイアログをださなくてもいいのでしたら、自動入力で強制的に取り除いてしまいましょう。

Last edited by Shin (2023-05-10 18:32:04)

Offline

#10 2023-05-10 18:35:08

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Shinさん

ありがとうございます。
この場合のSubstitute() はどのようにスクリプトを設定すればよろしいでしょうか?
「/」と、「:」「¥」も入力できないようにできればと思います。
カスタムダイアログも出そうと思います。

ご教授願えますでしょうか?

Offline

#11 2023-05-10 20:57:05

himadanee
Guest

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

ファイル名に使えない文字ということなら、入力禁止にしなくても、ファイル名にするときに除去すればいいのでは?

#12 2023-05-10 22:11:06

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Substitute(
   テキスト ;
   [“/“ ; “”] ;
   [“:“ ; “”] ;
   [“¥“ ; “”]
)

Offline

#13 2023-05-11 07:22:31

himadanee
Guest

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Windowsだと他に*とか?とかもファイル名には使えないです。

#14 2023-05-12 10:11:07

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

「ファイル名には次の文字は使えません」と出てくる記号類は「半角」で、
「全角」なら使用できるはずです。(Macは知りません←無責任 笑)

ファイル名に使えないより前に、
デスクトップパスが意図したものと変わってしまうのが原因なので、
Shinさんの提案のように置き換えて消してしまうか、
RomanZenkaku(案件名)で強制的に全角にしてしまうかでしょう。
(ただし、半角スペースや半角数字も全角になってしまう)

"file:"&Get(デスクトップパス)&Substitute(RomanZenkaku(案件名);Char(65340);Char(65509))&".pdf"


""マークは曲者なので、
https://fm-aid.com/bbs2/viewtopic.php?id=2424
このあたりも参考にした方がいいかもです。

Last edited by さすらいのダンサー (2023-05-12 10:20:57)

Offline

#15 2023-05-12 10:43:43

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

皆様
ありがとうございます。

試させていただきます。
結果ご報告いたします。

引き続き、何卒よろしくお願いいたします。

Offline

#16 2023-05-12 11:06:11

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

申し訳ございません。

on object saveを利用して、/ ¥ :などが入ったらカスタムダイアログを表示して再入力を促す。
といった処理を考えているのですが、その場合はどのように設定すればよろしいでしょうか?

変更前の案件名を変数に設定
入力禁止の文字が入ったらダイアログ表示→変更前のものにフィールド設定

などと考えております。
ご教授願えますでしょうか。

Offline

#17 2023-05-12 11:23:41

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

過去に、入力されたそのままをダイアログに再表示して、修正を求める、という処理をしたことがあるのですが、ユーザー側の間違いが非常に多く発生します。一番は、全て削除しきれないで再び指摘される、面倒だというクレームです。次に、削除文字の前後の文字を合わせて削除してしまい、ファイルが行方不明になる、という事故が結構発生します。
それでもいいですか。

お薦めは。入力禁止文字を自動削除して、それでダイアログで確認させる。という動きです。

Last edited by Shin (2023-05-12 11:42:12)

Offline

#18 2023-05-12 11:34:32

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Shinさん

経験をもとにした提案ありがとうございます。
Shinさんのお薦めの動きの設定を教えていただけると大変ありがたいです。

何卒よろしくお願いいたします。

Offline

#19 2023-05-12 11:54:00

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

OnObjectExit で、
Loop
    exit Loop If ( PatterCount ( target ; "/" ) = 0 )
    フィールド設定 ( target ; Substitute ( target ( target ;[ "/" ; "" ]) )
    カスタムダイアログ[ target へ変更しました]
end Loop
おそらく毎回ダイアログが表示されるので、鬱陶しい、と言われると思います。
確認させるだけですので、自動入力で変更してしまうのと、特別な違いは無いと思いますが。

Last edited by Shin (2023-05-12 12:20:29)

Offline

#20 2023-05-12 12:57:54

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Shinさん
ありがとうございます。
自分のファイルで試してみました。
/が入力されたらダイアログが出る。
といった動作になりました。
/自体稀にしか入力されないので、これで良いのかと思いました。他の文字は・・・今の所入力されてないので一旦これでやってみようと思います。

Offline

#21 2023-05-12 13:14:29

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

同じ動作を、数十回行ってみてください。最後には、単にOKをクリックするだけの意識しか無くなります。
ダイアログを出す意味があるのでしたら、出せばいいでしょうね。
ダイアログを出す意味がなければ、自動入力での削除で十分でしょう。

Offline

#22 2023-05-12 14:52:29

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

Shinさん

ありがとうございます。
たしかにおっしゃるとおりかもしれません。
自動で削除の設定で様子をみてみます。
ありがとうございました、

Offline

#23 2023-05-12 15:35:27

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

管理側でなく使用側の立場で考えると、意味なく「/」は使用しませんよね?

案件名で使用する場合、
「1/3」「2/3」「3/3」のような区別
5/12のような日付
これらのように案件名に入れておきたい場合かと思います。

それが強制的に無くなって良いのかどうかですね。

また、スラッシュが使えないことによって違う記号を使用されたら元の木阿弥ですよ。

ダイアログなしにするなら
"file:"&Get(デスクトップパス)&Substitute(案件名;"/";"/")&".pdf"
でも同じな気がします。

Offline

#24 2023-05-12 15:41:31

tfm
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

さすらいのダンサーさん

ありがとうございます。
少し考えます。
結果ご報告いたします。

Offline

#25 2023-05-12 17:59:45

Shin
Member

Re: フィールドに/を(スラッシュ)入力不可にしたいです。

私がよくやるのは、_ に置き換えます。これ以外にも使える記号はいくつかあります。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 8 queries executed - Memory usage: 572.05 KiB (Peak: 592.96 KiB) ]