Access Abfrage Filterkriterium leere Felder

  • Access

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von suchti12.

    Access Abfrage Filterkriterium leere Felder

    Hallo Leute,

    ich habe das Problem das ich in meiner "Stammdaten" Tabelle mithilfe einer Abfrage nach leeren Feldern in einer gewissen Spalte filtern will.
    Die Abfrage und den Abfrage SQL String erstelle ich mit VBA in einem Formular

    Hier der Code meiner Abfrage, hier hab ich jetzt immer das Problem das ich die Leeren Felder nie gefiltert bekomme, obwohl diese sehr wohl existieren.
    Ich hab auch schon die Funktion isEmtpy() und Stammdaten.A = "" versucht alle führen zu keinem Ergebnis.

    Quellcode

    1. Private Sub Abfrage_VB_Click()
    2. Dim qd As DAO.QueryDef
    3. Dim strSQL As String
    4. 'Abfrage löschen falls vorhanden
    5. If DCount("*", "MsysObjects", "Name='Abfragename' And Type = 5") > 0 Then
    6. DoCmd.DeleteObject acQuery, "Abfragename"
    7. End If
    8. 'Abfrage erstellen
    9. Set qd = CurrentDb().CreateQueryDef("Abfragename") 'für Abfrage
    10. strSQL = "SELECT Stammdaten.EV, Stammdaten.DIS, Stammdaten.A " & _
    11. "FROM Auswertung " & _
    12. "WHERE Stammdaten.A = IsNull(Stammdaten.A)"
    13. qd.SQL = strSQL
    14. Set qd = Nothing
    15. End Sub


    Hier auch noch die Infos zum Feld in der Stammdaten Tabelle:
    Feldname: A Felddatentyp: Kurzer Text
    Feldgröße255
    Format@
    Eingabeformat
    Beschriftung
    Standartwert
    Gültigkeitsregel
    Gültigkeitsmeldung
    Eingabe erforderlichNein
    Leere ZeichenfolgeNein
    IndiziertNein
    Unicode-KompressionJa
    IME-ModusKeine Kontrolle
    IME-SatzmodusKeine
    Textausrichtung Standart

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „suchti12“ ()

    Hy Mono,

    hätte ich jetzt auch probiert:

    Quellcode

    1. ​ strSQL = "SELECT Stammdaten.EV, Stammdaten.DIS, Stammdaten.A " & _
    2. "FROM Auswertung " & _
    3. "WHERE Stammdaten.A IS NULL"


    Leider komm ich hier zum gleichen Ergebnis das ich nichts zurückbekomme.
    Kann ich irgendwie raus finden was wirklich in den Feldern steht? Weil Sie wirken leer dürften es aber wohl nicht sein!?
    Hallo petaod,

    hab ich bereits probiert, funktioniert leider auch nicht!

    Quellcode

    1. WHERE Stammdaten.A = ''
    2. WHERE Stammdaten.A = IsNull(Stammdaten.A)
    3. WHERE Stammdaten.A = IsEmpty(Stamdaten.A)
    4. WHERE Stammdaten.A IS NULL

    Alle diese Funktionen funktionieren leider nicht.
    Deshalb hab ich auch oben die Feldeigenschaften gepostet, hab ich hier etwas falsch hinterlegt?
    Wenn ich in die Stammdaten Tabelle reingehe und dort den Filter "Leere anzeigen" auswähle werden diese sofort angezeigt, also dürften die Felder ja eigentlich leer sein?!
    Der Tipp hat mich jetzt nochmal dazu geführt alles zu prüfen und jetzt hab ich einen total peinlichen Fehler gefunden.


    Das From war falsch deklariert
    Falsch:

    Quellcode

    1. ​ Set qd = CurrentDb().CreateQueryDef("Abfragename") 'für Abfrage
    2. strSQL = "SELECT Stammdaten.EV, Stammdaten.DIS, Stammdaten.A " & _
    3. "FROM Auswertung " & _
    4. "WHERE Stammdaten.A IS NULL")"
    5. qd.SQL = strSQL
    6. Set qd = Nothing


    Richtig:

    Quellcode

    1. ​ Set qd = CurrentDb().CreateQueryDef("Abfragename") 'für Abfrage
    2. strSQL = "SELECT Stammdaten.EV, Stammdaten.DIS, Stammdaten.A " & _
    3. "FROM Stammdaten" & _
    4. "WHERE Stammdaten.A IS NULL"
    5. qd.SQL = strSQL
    6. Set qd = Nothing