Warum nicht, Wenn Nicht IsEmpty filtern nach leeren strings?
Was ist Los mit meinem If
Zustand?
If Not IsEmpty(Wrkgps_L3) And Not IsEmpty(Wrkgps_L4) Then
Wrkgps_L3L4 = Wrkgps_L3 & "," & Wrkgps_L4
End If
Den Not
Zustand scheint nicht zu funktionieren. Der code innerhalb der If
- Anweisung ausgeführt, auch wenn beide Wrkgps_L3
und Wrkgps_L4
sind leere strings.
Update:
Wrkgps_L3
und Wrkgps_L4
sind Variablen, enthalten Ergebnisse, die von einer Funktion zurückgegeben. Ich bemerkte, dass IsEmpty(Wrkgps_L3) = False
obwohl Wrkgps_L3 = ""
. Ich musste meinen code umschreiben zu
If (Wrkgps_L3 <> "") And (Wrkgps_L4 <> "") Then
In jedem Fall, ich bin immer noch neugierig zu wissen, warum IsEmpty
funktioniert nicht auf Variablen mit ""
?
Ist es möglich Sie sind verwirrend
Ich denke, Sie müssen, um die Klammern um die Bedingungen wie diese, Wenn ((Not IsEmpty(Wrkgps_L3)) And (not IsEmpty(Wrkgps_L4)))
Ich würde sagen, Sie brauchen mehr Klammern :))
Null
und Empty
? z.B. Not IsEmpty(null)
gibt true zurück,Ich denke, Sie müssen, um die Klammern um die Bedingungen wie diese, Wenn ((Not IsEmpty(Wrkgps_L3)) And (not IsEmpty(Wrkgps_L4)))
Ich würde sagen, Sie brauchen mehr Klammern :))
InformationsquelleAutor Kyle | 2012-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Visual Basic
Empty
und""
(eine leere Zeichenkette), sind zwei verschiedene Dinge.Empty
ist die nicht-initialisierten Zustand einVariant
variable, undIsEmpty
testet, ob eineVariant
variable hat dieEmpty
Wert:Als Sie beobachtet haben, müssen Sie vergleichen gegen
""
bei der Prüfung, ob einString
variable enthält einen leeren string.If x = Empty
zurückTrue
im Fallex
enthält eine leere Zeichenfolge. Aber tun Sie das nicht, es ist eine implizite Konvertierung Zucker, was besser ist zu vermeiden, es sei denn, Sie sicher wissen, was Los ist unter der Haube.Das ist gut zu wissen.
InformationsquelleAutor Michael Liu
Wenn die Variablen sind strings, könnten Sie auch:
InformationsquelleAutor Steve Rindsberg