プロが教える店舗&オフィスのセキュリティ対策術

VB2015、SQLServer2012
DB読込時IF文にてISDBNULL関数を使用しデータ判定を行い、NULLの場合位は””を設定する
というロジックを実行したところ上記判定を通過したものが値設定時にエラーとなりました

Dim strBuf AS String
IF ISDBNULL(cRed.fields(intL,1)) THEN
strBuf = ""
ELSE
strBuf = cRed.fields(intL,1).value ← 問題の場所
END IF

エラーメッセージ『型'DBNULL'から型'STRING'への変換は無効です』

デバッグ時上記「問題の場所」でブレイクしイミディエイトウィンドウに表示すると
?ISDBNULL(cRed.fields(intL,1))
False

つまりISDBNULLを通過したにも関わらず値がNULLという事です

回避方法をご存知の方いらっしゃいましたらご教授願います

A 回答 (1件)

比較式がvalueじゃないからじゃないですかね。



ISDBNULL(cRed.fields(intL,1))
このフィールドの型がDBNullかどうかではなくて、値がDBNullかどうかを比較すべきなので、常にfalseが返ってるのでは。
    • good
    • 0
この回答へのお礼

助かりました

はっ!本当だ!!!
何度も見直したのに、全く気づきませんでした(-_-;)

ありがとうございました

お礼日時:2016/12/09 12:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています