みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
表題の通り質問させて下さい。
環境
Win10 FM19使用
とあるフィールドの値の合計をExecuteSQL関数を利用して求めようとしています。
式は上手く作ることが出来たのですが、合計が0の場合Nullが返ってくるため、その後の式に利用するとき思った動作をしてくれません。
そこで、0の場合、0と返してくれる方法はあるのでしょうか?
ExecuteSQL ( "SELECT SUM ( フィールド1 ) FROM テーブル WHERE フィールド2=?" ,"","", 検索 )
この形の式でLet関数の変数に複数代入して使用しています。
説明が下手で申し訳ありませんが、よろしくお願いします。
厳密には「合計が0の場合」でなく「合計する数値がない場合」です。(0の場合なら0が返ります)
この場合は結果が1行(GROUPがない)ので、単純に関数の結果に+0すればいいでしょう。
ちなみにFMの関数ですので、Nullでなく空文字列になってると思いますが、結果がある場合もそのままだとテキストですから、そういう点でも+0する意味があります。
+0ですか。言われて納得、目からうろこです。
executeSQLを多用している計算フィールドでの不具合だったので、修正はシンプルであればあるほど良いと思っていたのですが、この上なくシンプルな修正で済みそうで助かります。
週明けに修正実行してみます。ありがとうございます。
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 545.37 KiB (Peak: 581.38 KiB) ]