vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Abfrage auf isNull 
Autor: Manfred X
Datum: 22.02.13 08:12

Die "IsNull"-Funktion übernimmt eine Variable des Typs Variant als
Parameter. Es wird geprüft, ob diese Variable den Sonderwert "Null"
enthält. (Der Wert "Null" ist ein Untertyp von Variant.)

Dim y As Variant

If IsNull(y) Then Stop 'Bedingung nicht erfüllt
If IsEmpty(y) Then Stop 'Bedingung erfüllt

y = Null

If IsNull(y) Then Stop 'Bedingung erfüllt
If IsEmpty(y) Then Stop 'Bedingung nicht erfüllt

Stringvariablen werden bei Deklaration automatisch mit einem Leerstring ("")
initialisiert, numerische Werte mit der Zahl 0.
Sie enthalten nicht die Sonderwerte "Null" oder "Empty".

MSDN:

Null ist ein Wert, der anzeigt, daß eine Variant-(MaX) Variable
keine gültigen Daten enthält.
Null ist das Ergebnis einer ausdrücklichen Zuweisung des Wertes Null an eine
Variable oder an eine beliebige Operationen zwischen Ausdrücken, die den Wert
Null enthalten.

Empty zeigt an, daß einer Variablen vom Typ Variant kein Anfangswert
zugewiesen worden ist. Eine Variable vom Typ Empty wird durch eine
Null (0) in einem numerischen Kontext oder durch eine Null-
Zeichenfolge ("") in einem Zeichenfolgenkontext dargestellt.

Beitrag wurde zuletzt am 22.02.13 um 08:28:15 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Abfrage auf isNull 
Autor: caramba
Datum: 21.02.13 07:38

Hallo zusammen,

kann mir jemand erklären, was der Unterschied zwischen den nachstehenden zwei Abfragen ist ?

If not isNull(InputField) Then .....

und

If InputField <> "" Then .....


Danke
Rainer
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Abfrage auf isNull 
Autor: effeff
Datum: 21.02.13 17:54

Bei der ersten Abfrage wird festgestellt, ob der Feldinhalt NULL ist, bei der zweiten wird festgestellt, ob kein Inhalt in einem String ist. Nichts ist etwas anderes als kein Inhalt...

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Abfrage auf isNull 
Autor: ModeratorDieter (Moderator)
Datum: 21.02.13 23:00

Wenn du auf einen "Leerstring" abfragen willst, dann besser so:
If Len(InputField) > 0 Then .....
Das íst besser für die Performance und man kann sich das wirklich schnell angewöhnen

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Abfrage auf isNull 
Autor: caramba
Datum: 22.02.13 09:33

Hallo zusammen,

danke für Eure Feedbacks. Wenn ich die Antworten richtig interpretiere, stellt sich der Sachverhalt wie folgt dar:

NULL Eine NULL-Variable (z.B. Tabellenfeld) wurde nur definiert; aber nicht existent. Nur
ein Pointer darauf ist vorhanden. Wenn z.B. man ein Integer-Feld auf isNull testet,
wird dieses intern vorher in einen Variant-Typ gewandelt.

Empty Eine Empty-Variable wurde definiert und ist vorhanden. Sein Inhelt ist jedoch Empty
(""); deshalb fragt Dieter sie in seinem Posting wie folgt ab:
If Len(InputField) > 0 Then ...
Danke
Rainer

Beitrag wurde zuletzt am 22.02.13 um 09:34:32 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Abfrage auf isNull 
Autor: Manfred X
Datum: 22.02.13 09:44

Nein!

Die Sonderwerte "Empty" und "Null" beziehen sich nur
auf Variable des Typs Variant.
Null kann nur innerhalb von Variant-variablen
genutzt werden.

Empty ist die Initialisierung von Variant-Variablen.
Empty kann auf String- oder numerische Variablen zugewiesen werden.
Bei dieser Zuweisung wird der Wert, wie oben dargelegt, transformiert.

("") ist ein leerer String - existiert in Stringvariablen
bzw. in Variant-Variablen, die einen String enthalten

Bei der Abfrage von Datenbank.Tabellen kann die IsNull-Funktion
das Fehlen eines Wertes in der DB-Tabellen-Zelle signalisieren
(ADO).

Mit Pointern auf Objekte hat das nichts zu tun.
Nicht mit "Nothing" verwechseln!!

Beitrag wurde zuletzt am 22.02.13 um 09:57:26 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel