みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ファイルメーカー11
会社から質問できないので用語が正確ではないかもしれません。
タイプを数字にしているフィールドで、一部だけテキストを直接入力したい時があります。
繰り返しフィールドですが、計算しないので不便は感じていません。
フィールドをテキストに変えると桁区切りがなくなるので、桁区切りは活かして何に数回だけテキストを直接入力したいです。
今はテキスト入力すると、データはあるのですが見えない状態になってしまいます。
ここは空白の時もあるので、数字なら桁区切り、テキストならそのまま表記、空白は空白のまま、にできる方法を教えて頂けると助かります。
バージョンが古いですが、よろしくお願いします。
数字書式を設定すると数字しか表示しませんから、
数字書式のフィールドと「入力したまま」のフィールドを両方重ねて配置して、
と思ったけどFM11では「オブジェクトを隠す」がなかったような気がする...
繰り返しフィールドだから、とても難しいです。ポータル表示ならば、レコード毎のコントロールでそんなに難しくないですが。
取り敢えずテキストとして入力させます。数字だけでしたら、Filter (.text ; “0123456789” ) が入力値と一致するはずですので、桁区切りを入れる処理をすればいいのかも。NumToJText() を使えばいいでしょう
Last edited by Shin (2023-10-21 22:37:36)
Offline
ご回答ありがとうございます。
フィールドを重ねるのは試してみたのですが、どちらかしか無理でどのように設定すればいいか分かりませんでした。
NumToJText()までは自分で試してみて失敗済みなのですが、ご教示頂いたFILTERと組み合わせるにはどのようにすればいいか教えて頂けると大変助かります。
お手数お掛けしてすみません。
自動入力の計算式で、
Case (
Self = Filter ( Self ; "0123456789" ) ; NumToJText ( Self ; 1 ; 0 ) ;
Self
)
を設定して、上書きを許可しておけばいいでしょう。
Offline
Shinさん、ありがとうございます。
週明けに試してみます。
タイプはテキストにしておいて、計算式のところにご教示頂いた式、上書き許可でしょうか?
この場合、Numtojtextは不用ですか?
自動入力というのが何を指すのかが分かりません。
入力値の自動化 で、上に示した計算式を設定します。
> この場合、Numtojtextは不用ですか?
なぜ、このように思われるのですか。
Offline
一度数値を入れるとカンマ付きの値になるので、次に編集する時の自動入力ではカンマも入ってるものとしないといけないかな。
数字を入力するときにカンマが邪魔ってことはないですかね。数字とカンマだけならフィールドに入ったときにカンマを除去?
Numtojtext() の引数は数値なので、コンマが入っていても数値ならば数値に型変換してくれるはずでsので、そこはそのままでいいのでしょうね。フィルター値は変更した方がいいのでしょうが、3桁区切り以外で入れられていたら変になります。
Case (
Self = Filter ( Self ; ",0123456789" ) ; NumToJText ( Self ; 1 ; 0 ) ;
Self
)
Offline
別の方法も考えてみました。
同じ繰り返し数の計算フィールド(テキスト)を作って、同じサイズで背面に表示させます。
Case ( not IsValid(n) ; GetAsText(n) )
※重ねるので、フィールドの塗りつぶしは使えなくなる(計算フィールドの方を塗りつぶせばいいか)
※フィールド入力中は背面のオブジェクトは見えなくなるので、テキストが入ってる繰り返しの内容は、その繰り返しに入るかレコード確定するまで見えなくなる
Pages: 1
[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 562.04 KiB (Peak: 581.57 KiB) ]