Forums Neueste Beiträge
 

Wie werte ich eine Funktion aus deren Rückgabewert Empty ist?

31/03/2009 - 23:27 von Rüdiger Lehmann | Report spam
Hallo NG,

Entschuldigung für diese Anfàngerfrage. Ich habe eine Funktion, deren
Rückgabewert vom Typ Variant ist und die bei Misserfolg Empty
zurückliefert, bei Erfolg liefert sie einen Wert zurück.

Hier mal der Header der Funktion:

,
|Public Function Test(Value As String) As Variant
| ...
|End Function
`

Nun habe ich versucht, den Rückgabewert der Funktion derart auszuwerten:

,
|...
| Dim ReturnValue As Variant
| ReturnValue = Test("MyWert")
| If ReturnValue = vbEmpty Then
| ... do anything 1 ...
| Else
| ... do anything 2 ...
| End If
|...
`

Nun kann es aber auch passieren, dass "ReturnValue" = 0 ist, trotzdem
führt er "do anything 1" aus.

Was mache falsch? Wie kann ich erreichen, dass "do anything 1" wirklich
nur dann ausgeführt wird, wenn der Wert der Funktion Empty ist?

MfG
R.L.
 

Lesen sie die antworten

#1 Thorsten Albers
01/04/2009 - 00:12 | Warnen spam
Rüdiger Lehmann schrieb im Beitrag
<gqu1sk$rgs$...
Ich habe eine Funktion, deren
Rückgabewert vom Typ Variant ist und die bei Misserfolg Empty
zurückliefert, bei Erfolg liefert sie einen Wert zurück.
...
| ReturnValue = Test("MyWert")
| If ReturnValue = vbEmpty Then



a) If IsEmpty(ReturnValue) Then
b) If VarType(ReturnValue) = vbEmpty Then

Und umgedreht:

a) If Not IsEmpty(ReturnValue) Then
b) If VarType(ReturnValue) <> vbEmpty Then

Die VB-Online-Hilfe ist da leider nicht sehr 'intuitiv' aufgebaut. Schau'
Dir bei der Gelegenheit dort gleich 'mal die anderen derartigen
Is*-Funktionen (insb. IsNull(), und auch IsMissing()) an; wenn man die
zugehörigen Kapitel einmal gelesen hat, erinnert man sich dann bei Bedarf
leichter wieder daran.
BTW: Ein 'IsNothing()' wirst Du nicht finden, denn da verlangt VB
If xxx Is Nothing Then
...

Thorsten Albers

albers (a) uni-freiburg.de

Ähnliche fragen