DBNULL判定の上手い書き方 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 るきお  (社会人) 投稿日時 2019/12/9 21:17:51
DataGridとは次のどれのことでしょうか?

①WPFで使うSystem.Windows.Forms.DataGrid
②Windowsフォームで使うSystem.Windows.Forms.DataGridView
③以前Windowsフォームで使用されていたSystem.Windows.Forms.DataGrid
④その他

はじめ②のことかなと思ったのですが、②には計算機能はなく、自分でロジックを組んで計算することになりますよね?

それから、現状どのようにやっているかも合わせて書いていただければ回答が付きやすくなると思います。

今の情報量だと、やなぎさんが何をつかってどうプログラムしているのか推理するところからはじめなければいけないので、私にはつらいです。(ツーカーでわかるほかの方はいるかもしれません)
投稿者 (削除されました)  () 投稿日時 2019/12/9 21:05:48
(削除されました)
投稿者 コロン  (社会人) 投稿日時 2019/12/9 13:10:44
Nullなら0や""を返すという共通関数を
StringやInteger、Doubleなど数種類の型で作ってみてはいかがでしょうか
投稿者 やなぎ  (社会人) 投稿日時 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では意味合いが変わってくるため微妙に納得いかず、足踏み状態です。

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