空文字にするには?

解決


AtoZ  2005-04-07 18:31:44  No: 89280  IP: [192.*.*.*]

DBのデータ変換チェックを行っています。

空文字の時に0をセットしたいのですが、下記のソースだと1文字が空の時しか0になりません。
なにかいい方法は、無いでしょうか?

関数 = IIf( strName = "  ", 0, strName)

よろしくお願いします。

編集 削除
ガッ  2005-04-07 18:53:46  No: 89281  IP: [192.*.*.*]

VB6?
…なら、LTrim$/RTrim$/Trim$()なんかどう?
で、"strName"って数値?
数値じゃなかったらなんで選択肢に0が…?
…と言ってみたり。
まぁ、別にいいんですけどねw;

編集 削除
VBCRLF  2005-04-07 19:02:49  No: 89282  IP: [192.*.*.*]

>1文字が空の時
もうチョイ説明プリーズ

編集 削除
AtoZ  2005-04-07 20:54:58  No: 89283  IP: [192.*.*.*]

言葉足らなくてすみません。
ソースは下記のものが '正'です。

Dim objData as Object

関数 = IIf(objData = "", 0, objData)

又、VB6.0ではなく、.NETです。

編集 削除
ガッ  2005-04-07 21:27:44  No: 89284  IP: [192.*.*.*]

> ソースは下記のものが '正'です。
つまり、コレが'正しい'ということか…(解決?

> Dim objData as Object

> 関数 = IIf(objData = "", 0, objData)

> 又、VB6.0ではなく、.NETです。

再度見て思ったんだけど…
最初に、
> 空文字の時に0をセットしたいのですが、下記のソースだと1文字が空の時しか0になりません。
と書かれているんだけど、"空文字"はつまり""を意味すると思われるが、それでは疑問にならない。
もしかして、ホワイトスペースのことを言っているのかな?
それなら(色々条件があるかもしれないけど)、
.NETなら[String].Replaceで"  "やTABを、" "に変換して、その文字列を[String].Trimにかければ、
両端のホワイトスペースを除去できると思われ…
というか.NETは範疇外なので、コレより良い方法があるかもしれないのであくまで「出来る」という具合だけど…

※誤爆…?

編集 削除
AtoZ  2005-04-08 11:46:42  No: 89285  IP: [192.*.*.*]

ガッさん、VBCRLFさん  ありがとうございました。
下記のソースでなんとか行けました。
苦肉の策ですが・・・・・

Dim objData as Object

Dim intKeta As Integer = Len(objData)  ←  ホワイトスペースをカウント
関数 = IIf(objData = Space(intKeta), 0, objData)

編集 削除
LESIA  2005-04-08 11:52:08  No: 89286  IP: [192.*.*.*]

オブジェクトが何故文字列と等しくなるのかが、疑問だけど
解決したのならいいか(^^;

編集 削除