- ベストアンサー
未入力フィールドが計算式中で0として扱われている
Filemaker 6.0を使用しています。 Case関数でCase(フィールド名>1000,4,フィールド名>500,3,フィールド名<=500,2)のようにして、フィールドの値の大小により、4,3,2などの数字が帰るようにしたいのですが。 実際に行うと、フィールドが空欄のときに、上記なら2がかえってしまいます。マイナスの数字を入れると何もかえらないので、どうやら空欄が0と認識されているようです。 回避する方法はあるのでしょうか、どなたかご教授ください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>計算しないにチェックを入れたり外したりしたのですが、結果は変わりません。 「式内の全フィールドの値が空欄の時、計算しない」にチェックを入れておけば空欄になりました。 そのほか、索引オプション等を変更してみましたが正しい結果が得られています。 ところで、最後のデフォルト値の式フィールド名<=500,2の記号は、演算子のリストから選択していますか?(≦の1バイト記号) なお、この式は省略することもできます。つまり、 Case ( テスト数字 > 1000 ; 4 ; テスト数字 > 500 ; 3 ; 2 ) 希望どおりの結果が得られないときはお知らせください。
その他の回答 (3)
- aqula
- ベストアンサー率60% (70/115)
空欄のときに、空欄をかえしたいのでしたら、 Case(フィールド名 = "","",フィールド名>1000,4,フィールド名>500,3,フィールド名<=500,2) > マイナスの数字を入れると何もかえらないので マイナスの数字では2になりますが?
お礼
わざわざありがとうございます。 お答えいただいたように、Caseの最初に""をつかって空欄を拾うことで解決しました。
- cockerel
- ベストアンサー率46% (253/548)
お恥ずかしいことに変換間違えがありました。訂正します 「計算のボックスの加法にある」 ではなく 「計算のボックスの下方にある」 です。
お礼
ありがとうございます。 計算しないにチェックを入れたり外したりしたのですが、結果は変わりません。 空欄をどう扱うか、という定義をかえる設定でもあるのでしょうか。 わかりません。
- cockerel
- ベストアンサー率46% (253/548)
計算のボックスの加法にある「空欄のときは計算しない」にチェックを入れても結果は同じでしょうか? (今は確かめられないのでうろ覚えですが後で検証してみます)
お礼
ありがとうございます。 記号は演算子リストから選んでダブルクリックしていますので、 まちがいないと思います。 空欄が0扱いになることは解決しなかったのですが、 上でお答えいただいた人のように、Caseの最初で""で空欄を拾うようにしたところ、うまく回避できるようになりました。 何度もありがとうございました。