#547 割り算の分母がゼロのとき#エラー表示を回避するには? クエリ

クエリの演算フィールドにおいて割り算を行うとき、分母の値が「Null」であれば割り算の結果もNullとなり、何も表示されないのですが、分母の値が「ゼロ」であると「#エラー」という表示になってしまいます。

たとえば下記のクエリの例では、「合計金額÷数量」の計算を行っていますが、数量がゼロのレコードで「平均単価」欄が「#エラー」となっていることが分かります。
クエリのデザインビュー
クエリのデータシートビュー

このような場合、演算フィールドの式を次のように変更することで、割り算の分母がゼロのときに#エラー表示を回避し、Null表示(空欄の状態)とすることができます。


平均単価:[合計金額]/[数量]

平均単価:IIf([数量]<>0, [合計金額]/[数量], Null)


ここでは、IIf構文を使って、『数量がゼロでなければ通常の計算を行い、そうでなければ(=ゼロなら)Nullを平均単価とする』という演算を行っています。


実行結果:
クエリのデザインビュー
クエリのデータシートビュー

※この方法は、演算フィールドで組み込み関数を使う場合で、関数に与える引数がNullであると返り値が「#エラー」となってしまうようなときにも使うことができます。同様にしてIIf構文で、『値がNullでなければ通常の関数の計算を行い、そうでなければNullとする』のようにします。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved