みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも勉強させてもらっています。
Mac OS X10.9 FMAd12です。
よろしくお願いします。
入力値の制限で、小数点下2ケタ
10.12345→10.12にするにはどのような計算式をいれればいいのでしょうか?
四捨五入、切り上げ、切り捨てはせず
例えば10.123 or 10.12345と入力したら
エラーメッセージが出るようにしたいです。
…で質問し、解決したと思いましたが…社長曰く例外があると…もぉ頭が痛い(泣)
申し訳ないのですが、再度追加質問させてください。
目的:入力ミスをしたらエラーを出すこと!
正しい数値をだすのではなく登記簿に記載されている地積面積の入力ミスを減らしたいだけ
地積面積フィールドに全レコード小数点下2ケタまで入力。(下3ケタ以上入力するとエラーを出す!)
そもそも登記簿記載の地積面積は基本、小数点なしの整数(小数点切り捨て)なのですが
例外として10㎡未満は小数点下2ケタまでは絶対入力しなければいけないのです。(要は少ない土地の場合正確に表記するため)
例えば9.9と入力→エラーを出したい。
先ほどの計算式では9.9と入力しても当然エラーがでないので
きっとcaseを使うのだとおもうのですが…
先ほどの回答でも『なぜ、ifを使わないでいいのか?』と社長につっこまれても説明できず…
皆様のお力(解説?)をお借りしたいので何度もすみませんがよろしくお願いします。
Offline
テキスト処理で
Position ( Self ; "." ; 1 ; 1 ) ≥ 1 and
Length ( Self ) = Position ( Self ; "." ; 1 ; 1 ) + 2
いかがでしょう。
IfもCaseもいらないんだよー
って、言ってやって^^;;
Offline
Hiro様とTraveller様の式を組み合わせました。
Case( Self ≠ Round(Self; 2);"怒るぜっ";Replace ( Self ; Position ( Self ; "." ; 1 ; 1 )+2 ; "" ; "0" ))
↑↑
数字フィールドでも日本語受け付けるので遊んでみた(汗)
>10㎡未満は小数点下2ケタまでは絶対入力しなければいけないのです。
桁数指定ということですね。
>下3ケタ以上入力するとエラーを出す!
BS、Enter、→ 等を使えるようにしておく前提で、
下3ケタ目からの数字キー入力を無効にする方法もありますが。
Offline
チポ様、FM12始めたばかり様、keima様
ありがとうございます。
色々ためしてみた結果
Case ( Self ≥ 10 ; Self = Int ( Self ) ; Self < 10 ; Position ( Self ; "." ; 1 ; 1 ) ≥ 1 and
Length ( Self ) = Position ( Self ; "." ; 1 ; 1 ) + 2 ; Self )
で一応希望通りに動きました。
社長が満足しているようなので今回はここまでにしたいと思います。(私の頭は整理ついてないですが…ゆっくり考えます)
皆様ありがとうございました。
Offline
Pages: 1
[ Generated in 0.015 seconds, 10 queries executed - Memory usage: 509.2 KiB (Peak: 513.74 KiB) ]