Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: silentwolf am November 26, 2018, 11:01:32

Titel: SQL Empty String nicht Null
Beitrag von: silentwolf am November 26, 2018, 11:01:32
Hallo,

habe folgenden SQL String der aber leider nur Daten die Null sind updated.
Wie muss dieser denn aussehen um Leere Zellen upzudaten?


    strSQL = "UPDATE " & strTable & " SET Umsatztext = [Buchungstext] " & _
                "WHERE (((Umsatztext) Is Null));"
    db.Execute strSQL


Vielen Dank!

Gruß Albert
Titel: Re: SQL Empty String nicht Null
Beitrag von: MzKlMu am November 26, 2018, 11:13:18
Hallo,
leere Felder sind NULL.
Was kann denn statt dessen drin sein ?
Ein Leerstring oder Leerzeichen ?

Titel: Re: SQL Empty String nicht Null
Beitrag von: silentwolf am November 26, 2018, 11:15:38
Hallo,
danke für die Antwort.
Ich habe es in dem Abfrageentwurf erstellt und bekam es hin mit diesen SQL string.

UPDATE tblNeu SET tblNeu.Umsatztext = [Buchungstext]
WHERE (((tblNeu.[Umsatztext])=""));

Sollte eigentlich einfach leer sein der Datensatz.
Bekomme es aber leider nicht im Code hin..

Vielen Dank
Titel: Re: SQL Empty String nicht Null
Beitrag von: DF6GL am November 26, 2018, 11:16:17
Hallo,

was sind denn "leere" Zellen im Gegensatz zu "NULL"-Zellen?

Vielleicht meinst Du Zellen (Felder), die einen Leerstring oder Leerzeichen enthalten..:

Zitat"WHERE nz(Umsatztext,'') = '';"

evtl:
Zitat"WHERE nz(Umsatztext,' ') = ' ';"

Die "roten" Zeichen sind jeweils 2 Hochkommata, keine Gänsefüße.

PS:

Falls doch ein oder mehrere Leerzeichen im Feld enthalten sind, was normalerweise bei Formular-Eingaben nicht vorkommt, nur wenn per Insert-Abfrage Felder gefüllt werden, dann benutz die LEN-Funktion, um solche Felder zu erkennen.
Titel: Re: SQL Empty String nicht Null
Beitrag von: silentwolf am November 26, 2018, 11:21:12
Hallo Franz,

vielen Dank ja Datenfelder sind es.
Es funktioniert so wie Du es geschrieben hast!

Vielen herzlichen Dank!!
Titel: Re: SQL Empty String nicht Null
Beitrag von: Josef P. am November 27, 2018, 18:37:55
Hallo!

Anm.:
Falls einmal ein Index genutzt werden soll,
statt
WHERE nz(Umsatztext,' ') = ' '
einen indexfreundlichen Ausdruck verwenden.
WHERE (Umsatztext IS NULL or Umsatztext = ' ')
.. Das ist allerdings für einmalige Aktionen nicht relevant.

mfg
Josef