Supportnet / Forum / Datenbanken
IF_Anweisung zum Abfangen von Datumsfeldern die NULL sind
Frage
Ich bins mal wieder
Ich hab folgenden VB code:
If (Me.EndeHV = Null) Then
GoTo Exit_Befehlopen_click
End If
a=Me.EndeHV - me.Datumheute
´berechnet die differenz der beiden daten.´
Der Befehl Exit_befehlopen_click beinhaltet die Anweisung "EIXT SUB"
Das Feld EndeHV ist ein datums feld.....
Ich möchte beim öffnen abfragen ob das Datumsfeld einen Wert hat oder nicht.Wenn nicht dann soll er zum Exitbefehl springen.
Leider beachtet er die If-Anweisung nicht und gibt jedes mal die Meldung aus" Unzuverlässige verwendung von null".
Antwort 1 von oliverV
Hallo,
versuchs mal mit
[Code]
If IsNull(Me.EndeHV) Then
Ein Exit Sub finde ich übrigens nicht so "schön", da ein laufender VBA-Code vorzeitig abgebrochen wird. "Hübscher" finde ich sinngemäß z.B.
[Code]
If IsNull(Me.EndeHV) Then
MsgBox Gib was ein !
Else
a=Me.EndeHV - me.Datumheute
...
End If
[/Code]
oder
Gruß
Oliver
Eventuell entstandene Sponsoren-Links in meinen Antworten werden durch den Betreiber des Forums erstellt. Da ich keinen Einfluss auf deren Inhalt nehmen kann, distanziere ich mich ausdrücklich von diesen Links. Es handelt sich nicht um eine Empfehlungen meinerseits.
versuchs mal mit
[Code]
If IsNull(Me.EndeHV) Then
Ein Exit Sub finde ich übrigens nicht so "schön", da ein laufender VBA-Code vorzeitig abgebrochen wird. "Hübscher" finde ich sinngemäß z.B.
[Code]
If IsNull(Me.EndeHV) Then
MsgBox Gib was ein !
Else
a=Me.EndeHV - me.Datumheute
...
End If
[/Code]
oder
If Not IsNull(Me.EndeHV) Then
a=Me.EndeHV - me.Datumheute
...
End If
Gruß
Oliver
Eventuell entstandene Sponsoren-Links in meinen Antworten werden durch den Betreiber des Forums erstellt. Da ich keinen Einfluss auf deren Inhalt nehmen kann, distanziere ich mich ausdrücklich von diesen Links. Es handelt sich nicht um eine Empfehlungen meinerseits.
Antwort 2 von Pinci
Danke Olli das hat mir geholfen..
Aber was ist der unterschied zwischen IF ISNULL und If(me.EndeHV=NULL)?
Würd mich mal interessieren.....
Gruß Pinci
Aber was ist der unterschied zwischen IF ISNULL und If(me.EndeHV=NULL)?
Würd mich mal interessieren.....
Gruß Pinci
Antwort 3 von oliverV
Hallo Pinci,
der "Umgang mit Nullen" ist ein komplexes Thema, damit quäle ich mich auch öfters herum; die Lösung ergibt sich oftmals nach dem Try-and-Error-Prinzip.
=Null bedeutet eigentlich das das Feld den Wert "0" hat; bei einem Zahlenfeld oder bei einem Kombifeld mit der ID als bebundener Spalte wäre dies der Fall.
Wenn in einem Datumsfeld nichts steht hat das Feld nicht den Wert "0", sondern es ist leer, dies kannst du mit IstNull() abfragen (beinhaltete Nullwerte und Leerwerte).
...oder so... wie gesagt habe selbst öfters mal Probleme damit.
Schau dir auch mal die Nz-Funktion in der Onlinehilfe an, damit kannst du auch einiges überprüfen.
Gruß
Oliver
der "Umgang mit Nullen" ist ein komplexes Thema, damit quäle ich mich auch öfters herum; die Lösung ergibt sich oftmals nach dem Try-and-Error-Prinzip.
=Null bedeutet eigentlich das das Feld den Wert "0" hat; bei einem Zahlenfeld oder bei einem Kombifeld mit der ID als bebundener Spalte wäre dies der Fall.
Wenn in einem Datumsfeld nichts steht hat das Feld nicht den Wert "0", sondern es ist leer, dies kannst du mit IstNull() abfragen (beinhaltete Nullwerte und Leerwerte).
...oder so... wie gesagt habe selbst öfters mal Probleme damit.
Schau dir auch mal die Nz-Funktion in der Onlinehilfe an, damit kannst du auch einiges überprüfen.
Gruß
Oliver

