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

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

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

You are not logged in.

Announcement

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


#1 2022-12-01 15:15:33

tak
Member

フィールドが未入力の場合に「ー」を入れたい

初心者です。
機器点検システムのレポート印刷機能を作っています。

点検の際、機器によっては点検が必要な項目と不要な項目がありますので、画面入力時やレポート印刷時に点検が不要である項目については「ー」を入れたいのですが、なかなかうまくできません。

〇条件
・フィールド未入力の時、誤ってフィールドを入力してしまって削除した時のフィールド内容を「ー」にしたい。
・印刷時だけでなく、フィールド入力時にも「ー」が確認できるとありがたい。(たぶんレコード作成時には全て「ー」が入っている状態になると思います)

〇使用するフィールドのタイプ(データ型)
テキスト、数字、日付、計算、集計

以上、よろしくお願いします。

Offline

#2 2022-12-01 20:08:22

himadanee
Guest

Re: フィールドが未入力の場合に「ー」を入れたい

「使用するフィールドのタイプ」を書いてますが、計算と集計は計算結果が入るので入力はできません。
日付も「ー」は入力できません。

計算値自動入力の式を
Case(IsEmpty(Self);"ー";self)
にすれば削除時に自動で入れることは可能です。

#3 2022-12-01 23:53:19

Shin
Member

Re: フィールドが未入力の場合に「ー」を入れたい

プレースホルダーテキストを設定すると、画面では未入力のフィールドオブジェクトに好きな文字列を表示できますが、印刷時はダメだった様に思います。
印刷時だけ、テキストオブジェクトを配置しておき,不要な時には隠しておきますか。

Offline

#4 2022-12-03 15:42:40

tak
Member

Re: フィールドが未入力の場合に「ー」を入れたい

himadanee様、shin様ありがとうございます。

日付、計算、集計には「ー」ができないのですね。早く分かってよかったです。ありがとうございます。
また、フォーム上の未入力時の「ー」はプレースホルダーテキストで実装したいと思います。(レコード上の空欄はとりあえず懸案事項にしたいと思います。)

数字タイプについて聞きたいことがございます。
点検項目に水質のpHなどがありまして数字タイプとしたいのですが、教えていただいたCase(IsEmpty(Self);"ー";self)を使用する際にも、テキストタイプにすれば問題なく動くのですが、数字タイプにするとレコードに反映されません(いろいろな"ー"で試してみましたがだめでした)
数字タイプのフィールドは、レコード上でも点検不要を明示したいものが多いので数字タイプにしながら、「ー」に限らず、点検不要を区別できる何らかの目印を入れたいのですが、何か良い方法はありますでしょうか?


その他、もし出来たらでよいのですが、
点検不要な項目の「印刷時」の処理の仕方でアイデアがございましたら教えていただけたら幸いです。
印刷物で空欄があると、点検し忘れと点検不要の区別がつかず、いらないトラブルの原因となってしまうためです。

Offline

#5 2022-12-03 20:34:32

himadanee
Guest

Re: フィールドが未入力の場合に「ー」を入れたい

試してなかったので、数字フィールドでは「マイナス記号」なのでダメなのかと思いましたが、その計算式で別に問題ないですね。

数字書式で小数1桁、とかやってるのでは。「入力したまま」にしないと表示を調整されてしまうのでだめですね。

#6 2022-12-06 13:52:41

tak
Member

Re: フィールドが未入力の場合に「ー」を入れたい

himadanee wrote:

試してなかったので、数字フィールドでは「マイナス記号」なのでダメなのかと思いましたが、その計算式で別に問題ないですね。

数字書式で小数1桁、とかやってるのでは。「入力したまま」にしないと表示を調整されてしまうのでだめですね。


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

pHなど小数の値ばかりなので、小数の書式にしておりました。「入力したまま」にしたら「ー」は表示されるようになりました。
最終的には、

Case(IsEmpty(Self);"―";Round ( フィールド名; 桁数 ))

とすることで、小数点以下の任意の桁数での四捨五入と空欄時の"ー"の両方を満足することができました。ありがとうございました。

あとは「ー」のできない日付、計算、集計タイプのフィールドをどうするかは、また次の宿題にしたいと思います。

お忙しい中回答してくださった、皆さまありがとうございました。

Offline

#7 2022-12-06 15:03:47

Shin
Member

Re: フィールドが未入力の場合に「ー」を入れたい

ー を表示したいフィールドごとに、「–」というテキストオブジェクトを作っておきます。そのオブジェクトに、not IsEmpty ( フィールド ) という計算式でオブジェクトを隠す設定をします。
フィールドの塗り潰しをなしにして、その背面にテキストオブジェクトを配置します。
これを、全部のフィールドに作るといいですよ。

もし、塗り潰しが欲しい時には、プレースホルダテキストにーを設定しておきます。

Offline

#8 2022-12-08 07:54:49

tak
Member

Re: フィールドが未入力の場合に「ー」を入れたい

shin様

ご回答ありがとうございます。
色々な手法があるのですね。やってみてなるほどと思うと同時に開発者はすごいなと思う次第です。

入力フォームには視認上塗りつぶしがあるのですが、印刷レイアウトは塗りつぶしがなしでも変ではないので、まだ試行している段階ですが、すべてのフィールドに実装して行けそうな気がしています。

どうもありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 560.06 KiB (Peak: 579.73 KiB) ]