Access-Abfragekriterien: UND oder ODER?

Die Vergleichsoperatoren "UND" sowie "ODER" bei Access-Abfragen sorgen bei Anwendern gerne für Verwirrung. Wer hier etwas falsch macht, erhält falsche – oder keine – Ergebnisse. In diesem Artikel erkläre ich Ihnen, wann, wo und wie Sie die jeweiligen Operatoren in das Entwurfsgitter einer Abfrage eintragen, um die gewünschten Datensätze aus Ihren Tabellen zu filtern.

Einträge in der Zeile Kriterien im Access-Abfrageentwurf

Nehmen wir an, Sie möchten aus Ihren Kundentabellen alle Kunden herausfiltern, die in Köln und Bonn wohnen. Wenn Sie im Entwurfsgitter Ihrer Access-Abfrage genau dieses Kriterium in der Spalte Ort eintragen, werden Ihnen jedoch nach dem Ausführen der Abfrage keine Datensätze angezeigt.

Letztlich handelt es sich um ein sprachliches Problem. Sie suchen sicher nicht nach Kunden, die gleichzeitig in Köln und Bonn wohnen, sondern entweder in Köln oder Bonn. Durch den falschen Vergleichsoperator "UND" sucht Access aber, wie gewünscht, nach allen Datensätzen, die in der Spalte Ort beide Städtenamen enthalten. Und da es einen solchen Datensatz nicht gibt, läuft die Abfrage ins Leere.

Der korrekte Vergleichsoperator ist daher "ODER". Für den Eintrag dieses Abfragekriteriums haben Sie zwei Möglichkeiten:

  1. Tragen Sie in der Zeile Kriterien der Spalte Ort den einen Städtenamen und in der darunterliegenden Zeile mit der Bezeichnung "oder" den anderen Städtenamen ein.
  2. Tragen Sie in der Zeile Kriterien der Spalte Ort einen Gesamtausdruck ein. In unserem Fall lautet er: "Köln" ODER "Bonn" (Die Anführungszeichen brauchen Sie nicht über die Tastatur eingeben. Access ergänzt sie automatisch!).

Verknüpfung von Abfragekriterien in mehreren Spalten

Komplizierter wird es, wenn Sie in mehreren Spalten Kriterien für Ihre Filterung eingeben. Auch hierbei wird viel falsch gemacht und die Auswirkungen sind fatal. Denn Access zeigt ein Abfrageergebnis an – aber das falsche!

Stellen Sie sich vor, Sie wollten neben dem Wohnort auch nach dem Geschlecht Ihrer Kunden filtern. Sie tragen in die Zeile Kriterien der Spalte Ort "Köln" ein und in die Zeile oder "Bonn". Außerdem geben Sie in der Spalte Anrede als Suchkriterium z. B. Frau ein.

Sie erhalten nun ein Abfrageergebnis von Access mit allen Kunden weiblichen Geschlechts aus Köln und ALLE Kunden (auch Männer) aus Bonn. Was ist passiert? Innerhalb einer Zeile gelten die eingetragenen Kriterien als "UND"-Verknüpfung. Da in der ersten Zeile (Kriterien) unter Anrede Frau steht und unter Ort Köln werden alle Datensätze herausgesucht, für die diese beiden Kriterien zutreffen. Eine Zeile tiefer steht jedoch nur ein Kriterium, nämlich der Wohnort Bonn. Die Einschränkung auf ein bestimmtes Geschlecht fehlt und wird daher auch nicht berücksichtigt.

Für die korrekte Eingabe gibt es wieder zwei Möglichkeiten:

  1. Sie tragen in die Zeile Kriterien unter Anrede Frau ein und unter Ort Köln. In der Zeile oder tragen Sie unter Anrede noch einmal Frau ein und als Ort Bonn.
  2. Sie tragen in die Zeile Kriterien unter Anrede Frau ein und wählen in der Spalte Ort den Gesamtausdruck "Köln" ODER "Bonn".

Zum Schluss bleibt mir nur noch der Hinweis, dass Sie immer darauf achten sollten, in welcher Spalte des Entwurfsgitters Sie Ihr Suchparameter eintragen. Verwechseln Sie die Spalten, führt die Abfrage ebenfalls zu keinem oder einem falschen Ergebnis.