Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Wer mit Domänenfunktionen arbeitet und dabei Kriterien nutzen möchte, kommt um grundlegende Kenntnisse der WHERE-Klausel von Access-SQL nicht aus. Der dritte Parameter der Domänenfunktionen wie DLookup, DCount oder DMax folgt nämlich den gleichen Regeln wie die WHERE-Klausel. Welche dies sind, besprechen wir in diesem Artikel – natürlich nicht ohne ausreichend praktische Beispiele. Dabei schauen wir uns einfache Vergleiche von zwei Werten wie beispielsweise einem Feldwert und einem Vergleichswert an.
Beispieldatenbank
Die Beispiele dieses Artikels findest Du in der Datenbank Domaenenfunktionen_KriterienZusammenstellen.accdb.
Kriterien ausprobieren
Zum Ausprobieren der Kriterien für eine Domänenfunktion haben wir auch der Beispieldatenbank dieses Artikels das Formular frmDomaenenfunktionen beigefügt. Wenn Du den ersten und zweiten Parameter definiert hast, kannst Du die Beispiele aus dem vorliegenden Artikel für den dritten Parameter Kriterien einfügen. Die Anzeige der Ergebnisse für die verschiedenen Domänenfunktionen wird nach der Eingabe eines jeden Zeichens aktualisiert (siehe Bild 1).
Bild 1: Testen der Kriterien für Domänenfunktionen
Aufbau von Kriterien
Im Rahmen des vorliegenden Artikels schauen wir uns die Definition von Vergleichswerten an. Dabei vergleichen wir immer zwei Ausdrücke miteinander. Die Ausdrücke können dabei beliebig gestaltet sein – wir können die Inhalte zweier Felder miteinander vergleichen, den Inhalt eines Feldes mit einem fest vorgegebene Wert oder den Inhalt eines Feldes mit dem Ergebnis einer Funktion.
Wichtig ist, dass das Kriterium bei allen folgenden Beispielen aus drei Elementen aufgebaut ist: dem ersten Wert, dem Vergleichskriterium und dem zweiten Wert. Es gibt noch weitere Möglichkeiten, Kriterien für Domänenfunktionen und auch für den WHERE-Teil von SQL-Abfragen zu definieren – zum Beispiel die Verwendung von Funktionen oder die Verknüpfung verschiedener Kriterien mit AND oder OR. Auf beide gehen wir weiter unten ein.
Eckige Klammern für Feldnamen
Nicht verpflichtend, aber in manchen Fällen notwendig ist das Einfassen von Feldnamen in Kriteriumsausdrücken in eckige Klammern.
Wenn wir immer nur die standardmäßig vorgesehenen Zeichen für Feldnamen verwenden, brauchen wir diese nicht, aber wenn man Zeichen wie Leerzeichen, Minuszeichen et cetera verwendet, sollte man diese in Kriteriumsausdrücken in eckige Klammern einfassen:
[Sonder-Zeichen] = ""
Wenn wir das wie folgt nicht tun, interpretiert Access das Minus-Zeichen als Rechenzeichen, was zu einem Fehler führt:
Sonder-Zeichen = ""
Vergleichsoperatoren für Zahlenwerte
Wenn wir im Kriterium zwei Zahlenwerte vergleichen wollen, stehen uns verschiedene Vergleichsoperatoren zur Verfügung:
- Gleich (=): Liefert die Datensätze, bei denen der Feldwert gleich dem Vergleichswert ist (zum Beispiel [Feldname] = 1).
- Ungleich (<>): Liefert die Datensätze, bei denen der Feldwert ungleich dem Vergleichswert ist (zum Beispiel [Feldname] <> 1).
- Nicht gleich (NOT mit =): Liefert die Datensätze, bei denen der Feldwert nicht gleich dem Vergleichswert ist (zum Beispiel NOT [Feldname] = 1).
- Größer (>): Liefert die Datensätze, bei denen der erste Wert größer als der zweite Wert ist (zum Beispiel [Feldname] > 1])
- Kleiner (<): Liefert die Datensätze, bei denen der erste Wert kleiner als der zweite Wert ist (zum Beispiel [Feldname] < 10)
- Größer oder gleich(>=): Liefert die Datensätze, bei denen der erste Wert größer als der zweite Wert oder gleich ist (zum Beispiel [Feldname] >= 1])
- Kleiner oder gleich (<=): Liefert die Datensätze, bei denen der erste Wert kleiner als der zweite Wert oder gleich ist (zum Beispiel [Feldname] <= 10)
Kriterium mit Zahlenbereich
Kriterien, welche die oben genannten Vergleichsoperatoren nutzen, können wir mit dem Schlüsselwort AND so verknüpfen, dass wir Zahlenbereiche erhalten. Hier ist auch noch entscheidend, ob wir die als Vergleichswert angegebene Zahl einschließen oder nicht. Um alle Zahlen zwischen 21 und 30 zu erhalten, verwenden wir das folgende Kriterium:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo