DBのデータ変換チェックを行っています。
空文字の時に0をセットしたいのですが、下記のソースだと1文字が空の時しか0になりません。
なにかいい方法は、無いでしょうか?
関数 = IIf( strName = " ", 0, strName)
よろしくお願いします。
VB6?
…なら、LTrim$/RTrim$/Trim$()なんかどう?
で、"strName"って数値?
数値じゃなかったらなんで選択肢に0が…?
…と言ってみたり。
まぁ、別にいいんですけどねw;
>1文字が空の時
もうチョイ説明プリーズ
言葉足らなくてすみません。
ソースは下記のものが '正'です。
Dim objData as Object
関数 = IIf(objData = "", 0, objData)
又、VB6.0ではなく、.NETです。
> ソースは下記のものが '正'です。
つまり、コレが'正しい'ということか…(解決?
> Dim objData as Object
>
> 関数 = IIf(objData = "", 0, objData)
>
> 又、VB6.0ではなく、.NETです。
再度見て思ったんだけど…
最初に、
> 空文字の時に0をセットしたいのですが、下記のソースだと1文字が空の時しか0になりません。
と書かれているんだけど、"空文字"はつまり""を意味すると思われるが、それでは疑問にならない。
もしかして、ホワイトスペースのことを言っているのかな?
それなら(色々条件があるかもしれないけど)、
.NETなら[String].Replaceで" "やTABを、" "に変換して、その文字列を[String].Trimにかければ、
両端のホワイトスペースを除去できると思われ…
というか.NETは範疇外なので、コレより良い方法があるかもしれないのであくまで「出来る」という具合だけど…
※誤爆…?
ガッさん、VBCRLFさん ありがとうございました。
下記のソースでなんとか行けました。
苦肉の策ですが・・・・・
Dim objData as Object
Dim intKeta As Integer = Len(objData) ← ホワイトスペースをカウント
関数 = IIf(objData = Space(intKeta), 0, objData)
オブジェクトが何故文字列と等しくなるのかが、疑問だけど
解決したのならいいか(^^;