投稿者 やなぎ  (社会人) 投稿日時 2019/12/9 12:32:40
いつもお世話になっております。

本題ですが、DataGridを利用して演算を行う際に発生しがちなNULL判定の質問です...。

例としてGridに"A"~"C"までの3列と、それらの値を合算した値を表示するSUM列があります。
行は複数行存在し、A~CにはInt型もしくはNULLがデータベースからFillされて挿入されています。

各列の合計SUMを計算する際、A~CにNULLが存在すると演算エラーが発生します。 

これを回避するためには
if ...Cells("A").Value is DBNULL.value Then...
のようなNULL判定を各列に記述するしか方法は無いのでしょうか?

実際のコードでは列数がこれよりかなり多く、NULL判定の多用によるコードの汚さにげんなりしている状態です...

SQLで読み込む際にDECODEでNULLを0にする手法も考えたのですが
表の上で0とNULLでは意味合いが変わってくるため微妙に納得いかず、足踏み状態です。

初心者の質問ではありますがよろしくお願い致します。