私はレガシアプリケーションでいくつかの作業を行っていますが、VB6のスキルはそれほど優れていません。 Stringフィールドが初期化され、null/nothingまたは空の文字列以外に設定されているかどうかを確認する必要があります。 C#では、次のようなことをするだけです。
if (string.IsNullOrEmpty(myObj.Str))
これに相当するものがVB6にあったかどうかはわかりません。If myObj.Str = ""
といいですね。これを行う正しい方法は何ですか?
明確にするために、次のいずれかに該当する場合にTrueを返すものが必要です。
このフィールドは元々Longであり、置換するコードは0に設定されているかどうかを確認しました。
VB6はeasyになるように設計されました
つかいます
If str = "" Then
' uninitialised, null or empty ""
3つの要件を満たす最も最適化された安全な方法は次のとおりです。
If LenB(myObj.Str) = 0
Then Debug.Print "String is empty/null/not initialized"
Else Debug.Print "Not Empty"
刺し傷にはNullであるを、オブジェクトにはis nothingを使用する
より高速であるため、「string」= "」の代わりにlen("string ")を使用します。
Dim s As String
If Not (s Is Null) Then
MsgBox "SET"
if (len(s)>0) then
MsgBox "size > 0"
else
MsgBox "size = 0"
end if
Else
MsgBox "not SET"
End If
よろしく
試しました、_If str = ""
_その後
しかし、うまくいきませんでした。
指定された文字列がnullであるかどうかを識別する最適な方法は次のとおりです。
If IsNull(str)
Then
'これは完全に機能します
MarkJの回答に情報を追加するだけです。レコードセットを使用している場合、これ
if rs.fields.item("rsField").value = "" then
アイテムがnullの場合、ランタイムエラーをスローします。これを行う必要があります:
if rs.fields.item("rsField").value & "" = "" then
がんばろう。
「Nulls」と「Empty Strings」は実際には異なる値であるため、このアプローチでは両方を簡単に取得できます。
If strValue & "" = "" Then
'This is Null
Else
'This is NOT Null
End If
'VbNullstringの使用は非常に効果的な方法です
Dim YourString as string
dim HasValue as boolean
If YourString = vbnullstring then
HasValue = False
Else
HasValue = True
End if