#688 #Div/0!エラー表示を回避するには? クエリ

クエリでの演算でも、フォームのコントロールでの演算でも、あるいはExcelのセルでの計算でも同様ですが、割り算の計算式において分母の値がゼロだとエラーが発生して「#Div/0!」という表示になります。

たとえば、以下の例では、クエリの演算フィールドにおいて「仕入原価/販売単価*100」という式で「原価率」を計算していますが、分母である販売単価がゼロだと「#Div/0!」と表示されていることが分かります(ちなみにNullの場合は計算結果もNullとなり空欄表示となります)。販売単価ゼロ円ということはありませんので、入力ミスではあるのですが、紛らわしい表示となってしまいます。





このようなとき、「IIf」関数を使うことでこのような表示をなくすことができます。

それには、次のように「IIf」関数で事前に分母の値をチェックし、『ゼロでなければ通常の計算を行い、ゼロならNullを出力する』という式に置き換えます。「IIf」関数では1番目の引数が条件式(ゼロかどうか)、2番目の引数が条件式が”真”のときの出力値、3番目が”偽"のときの出力値となります。

原価率: IIf([販売単価]<>0,[仕入原価]/[販売単価]*100,Null)





※【注】販売単価がNullの場合、「[販売単価]<>0」という条件式の判定は”真”とはなりません。よって出力結果はIIfの3つめの引数であるNull(空欄)表示となります。


また、「IIf」関数の3つめの引数を工夫することで、分かりやすいメッセージ文を表示させることもできます。

原価率: IIf([販売単価]<>0,[仕入原価]/[販売単価]*100,"販売単価が0または未入力です")

| Index | Prev | Next |



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