Chrisu
Bekanntes Mitglied
... fast schon philosophisch ...
also, eine Sache, die mich schon seit längerem verwundert - wäre nett wenn das jemand aufklären könnte:
Eine Objektvariable, zB rs für Recordset oder db für database läßt sich mit dem SET-Befehl befüllen und auch initialisieren - die Initialisierung erfolgt über
nun will ich das Ganze auch für einfache Variablen verwenden:
Vorausgesetzt ich habe eine Variable, die entweder innerhalb eines Klassenmoduls (Dim ...) oder projektweit (Public/Global) deklariert wurde, wie kann ich diese Variable wieder initialisieren?
Variable = "" ist zwar syntaktisch richtig aber bringt nicht das gewünschte Ergebnis
Variable = empty ebenso
Variable = nothing ist syntaktisch falsch
es geht mir darum, zu ermitteln, ob eine Variable einen Wert hat oder nicht, ich will nicht wissen welchen Wert die Variable hat sondern nur ob sie einen hat - oft muss man am Ende einer Prozedur eine Variable wieder initialisieren, damit andere Prozeduren nicht fehlgeleitet werden - wie mache ich das nun?
wenn ich die Anweisung
verwende, und direkt anschließend
abrufe, dann kommt False heraus ... ebenso bei
-> bei If IsNull ist die Sache klar, denn wenn die Variable als Wert Null hat ist das auch ein Wert, daher wird bei einer Variablenabfrage nicht True ausgegeben, da Null selbst ein Wert ist ...
aber wie ist das mit If IsEmpty? Wie initialisiere ich eine bereits deklarierte Variable, die auch einen Wert zugewiesen bekommen hat, sodass ich abfragen kann, ob die Variable jemals befüllt worden ist oder nicht und wie stelle ich die Variable wieder in den Ur-Zustand?
MSDN sagt das funzt mit IsEmpty - aber das funktioniert nicht ... ein kleines Beispiel:
da kommt keine msgbox daher ... ich suche im Endeffekt nach einer Anweisung die die Deklaration einer Variablen wieder rückgängig macht ...
thx
Edit:
wenn die Variable als Variant deklariert wurde, funktioniert die Abfrage mit IsEmpty, aber nicht bei anderen Datentypen ...
also, eine Sache, die mich schon seit längerem verwundert - wäre nett wenn das jemand aufklären könnte:
Eine Objektvariable, zB rs für Recordset oder db für database läßt sich mit dem SET-Befehl befüllen und auch initialisieren - die Initialisierung erfolgt über
Code:
SET ObjektVariable = Nothing
nun will ich das Ganze auch für einfache Variablen verwenden:
Vorausgesetzt ich habe eine Variable, die entweder innerhalb eines Klassenmoduls (Dim ...) oder projektweit (Public/Global) deklariert wurde, wie kann ich diese Variable wieder initialisieren?
Variable = "" ist zwar syntaktisch richtig aber bringt nicht das gewünschte Ergebnis
Variable = empty ebenso
Variable = nothing ist syntaktisch falsch
es geht mir darum, zu ermitteln, ob eine Variable einen Wert hat oder nicht, ich will nicht wissen welchen Wert die Variable hat sondern nur ob sie einen hat - oft muss man am Ende einer Prozedur eine Variable wieder initialisieren, damit andere Prozeduren nicht fehlgeleitet werden - wie mache ich das nun?
wenn ich die Anweisung
Code:
Variable = Empty
Code:
If IsEmpty(Variable)
Code:
If IsNull(Variable)
aber wie ist das mit If IsEmpty? Wie initialisiere ich eine bereits deklarierte Variable, die auch einen Wert zugewiesen bekommen hat, sodass ich abfragen kann, ob die Variable jemals befüllt worden ist oder nicht und wie stelle ich die Variable wieder in den Ur-Zustand?
MSDN sagt das funzt mit IsEmpty - aber das funktioniert nicht ... ein kleines Beispiel:
Code:
Dim abcd As String
abcd = "Testvariable"
abcd = Empty
If IsEmpty(abcd) Then
MsgBox "is wirklich leer"
End If
da kommt keine msgbox daher ... ich suche im Endeffekt nach einer Anweisung die die Deklaration einer Variablen wieder rückgängig macht ...
thx
Edit:
wenn die Variable als Variant deklariert wurde, funktioniert die Abfrage mit IsEmpty, aber nicht bei anderen Datentypen ...