'if itemrs!Account04 = Null then' funktioniert nicht

  • VB6

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Gast.

    'if itemrs!Account04 = Null then' funktioniert nicht

    Ist stehe zur Zeit vor einem sehr merkwürdigenFehler:

    Ich habe in einer Tabelle einer Datenbank 8 Account-Felder, die benannt sind mit
    Account01
    Account02
    ...
    Account08

    Nun sind leere Felder in einer Access-Datenbank ja immer NULL, also habe ich in einer if-Abfrage den Inhalt des Account-Feldes überprüft:


    <font face="courier new">
    if itemrs!Account04 = Null then
    itemrs.Edit
    itemrs!Account04 = str_accountname
    itemrs.Update
    EndIf
    </font>


    Mit Hilfe der Einzelschrittverarbeitung bin ich dann bis zu dieser Stelle vorgerückt und der Tooltip gab tatsächlich aus, das itemrs!Account04 = Null sei, dennoch führte er die Anweisung nicht aus und sprang direkt zum EndIf ...

    Das Recordset ist richtig erstellt, da er mir für die Accounts 1-3 im Tooltip die richtigen Daten anzeigt.

    Was soll ich tun ? Mir gehen langsam die Ideen aus.

    Ich bin für jeden Tipp dankbar.

    Gruß,

    Warlock
    Ich kann dir zwar eigentlich nicht weiterhelfen, da ich von Datenbankprogrammierung in VB keine Ahnung habe, aber hast du es schonmal mit

    if itemrs!Account04 = vbNull then

    oder

    if itemrs!Account04 Is Null then

    versucht?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Bisher nicht, aber als ich es eben versucht habe, hat es nicht geklappt.
    <font face="courier new">
    if itemrs!Account04 = vbNull then
    </font>
    ergibt immer FALSE, auch wenn itemrs!Account04 eigentlich Null ist

    und
    <font face="courier new">
    if itemrs!Account04 is Null then
    </font>
    dient zum Vergleich zweier Objekte und Null ist leider kein Objekt, daher gibts eine Fehlermeldung ...

    Wenn jemand noch einen anderen Vorschlag hat, dann möge er sich bitte melden, ich kann ihr ohne eine Lösung nicht weitermachen.

    Ich hatte schon die Idee, sämtliche leeren Felder beim erstellen mit einem Dummy-Wert zu füllen, aber dass vergrössert die Datenbank nur unnötig und es muß eine Möglichkeit geben einen solchen logischen Vergleich durchzuführen.

    Dennoch vielen Dank,

    Patrick
    So, die Antwort ist aufgetaucht und ich teile sie natürlich gerne mit anderen Programmierern. Der korrekte Aufruf wäre
    <font face="courier new">
    If IsNull(itemrs!Account04) then </font>

    Endlich läuft es. *freu*

    Und nochmal vielen Dank für deinen Ansatz, Marcus.

    Gruß,

    Patrick