Abfragen [basics]: Parameterabfragen

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Abfragen sind unter Access das Schweizer Taschenmesser zum Abfragen von Daten aus verschiedenen Feldern unterschiedlicher Tabellen mit bestimmten Kriterien, Sortierungen und Gruppierungen. Bei den Kriterien gibt es allerdings einen kleinen Haken: Gelegentlich sollen nicht feste Kriterien verwendet werden, sondern der Benutzer möchte die Kriterien zur Laufzeit eingeben können. Das ist möglich, indem er immer wieder in die Entwurfsansicht wechselt, die Vergleichswerte anpasst und wieder zur Datenblattansicht umschaltet. Allerdings macht dies auf Dauer keinen Spaß. Da passt es doch gut, dass Access mit den sogenannten Parameterabfragen die Möglichkeit bietet, die Vergleichswerte zur Laufzeit einzugeben.

Beispieldatenbank

Die Beispiele dieses Artikels findest Du in der Datenbank AbfragenBasics_Parameterabfragen.accdb.

Beispieltabelle

Wir verwenden die Tabelle tblAutoren als Beispieltabelle. Sie enthält verschiedene Felder wie Vorname, Nachname, Geburtsdatum oder Nationalität, mit denen wir experimentieren können.

Diese Tabelle sieht wie in Bild 1 aus.

Tabelle mit Beispieldaten

Bild 1: Tabelle mit Beispieldaten

Vorbereitung: Kriterien in einfachen Abfragen

Wenn wir eine einfache Abfrage mit einem Kriterium nutzen wollen, gehen wir beispielsweise wie folgt vor:

  • Wir legen mit dem Ribbon-Befehl Erstellen|Abfragen|Abfrageentwurf eine neue Abfrage an.
  • Dieser fügen wir die als Datensatzquelle zu verwendende Tabelle hinzu, hier tblAutoren.
  • Dann ziehen wir alle Felder, die angezeigt oder als Kriterium verwendet werden sollen, zum Entwurfsraster der Abfrage hinzu.
  • Wenn wir beispielsweise alle Autoren ermitteln wollen, deren Vorname mit A beginnt, fügen wir für das Feld Vorname das folgende Kriterium hinzu: Wie ‘A*’

Der Abfrageentwurf sieht anschließend wie in Bild 2 aus.

Abfrage zum Ermitteln aller Autoren, deren Vorname mit A beginnt.

Bild 2: Abfrage zum Ermitteln aller Autoren, deren Vorname mit A beginnt.

Wechseln wir nun in die Datenblattansicht, erhalten wir das Ergebnis aus Bild 3.

Abfrageergebnis mit allen Autoren, deren Vorname mit A beginnt.

Bild 3: Abfrageergebnis mit allen Autoren, deren Vorname mit A beginnt.

Wollen wir nun nicht alle Autoren liefern, deren Vorname mit A beginnt, sondern jene, deren Vorname mit B beginnt, müssen wir zurück in die Entwurfsansicht wechseln. Hier ändern wir den Vergleichswert für das Feld Vorname in den Ausdruck Wie ‘B*’.

Wechseln wir anschließend wieder zur Datenblattansicht, zeigt die Abfrage alle Autoren an, deren Vorname mit B beginnt.

Das kann man bestenfalls dem Entwickler einer Datenbank zumuten oder sich selbst, wenn man gelegentlich bestimmte Abfragen durchführen möchte.

Wenn wir jedoch eine Datenbank für einen Mitarbeiter oder einen Kunden entwerfen, sollten wir diesem nicht den Entwurf von Abfragen überlassen. Dafür bietet Access elegantere Möglichkeiten.

Abfrage mit Parameter ausstatten

Diese Möglichkeit nennt sich Parameterabfrage. Eine solche Abfrage ist eine normale Abfrage, bei der wir für die Felder, nach denen gefiltert werden soll, Kriterien auf eine bestimmte Art festlegen.

Innerhalb dieser Kriterien können wir in eckige Klammern eingefasste Parameter definieren, deren Wert erst beim Anzeigen der Datenblattansicht der Abfrage vom Benutzer eingegeben werden muss. Wir zeigen das an einem ersten Beispiel, in welchem wir alle Datensätze ermitteln wollen, die im Feld Vorname einen bestimmten Wert enthalten.

Dazu erstellen wir eine Kopie der zuvor verwendeten Abfrage qryAutorenMitA und speichern diese unter dem Namen qryAutorenNachNachname.

In dieser ersetzen wir das Kriterium für das Feld Vorname durch den folgenden Ausdruck:

[Welcher Vorname]

Der Abfrageentwurf sieht nun wie in Bild 4 aus.

Abfrage mit einem Parameter für das Feld Vorname

Bild 4: Abfrage mit einem Parameter für das Feld Vorname

Damit haben wir bereits die wichtigsten Elemente eines Parameters für ein Abfragefeld vorgestellt:

  • Er wird in eckige Klammern eingefasst.
  • Er enthält den Text, der später beim Abfragen des Parameterwertes angezeigt wird.

Ergebnis einer Abfrage mit Parameter anzeigen

Um diesen Parameter zu nutzen, wechseln wir einfach in die Datenblattansicht. Diese wird jedoch nicht direkt angezeigt. Zuvor erscheint eine Inputbox mit dem Titel Parameterwert eingeben und dem Text, den wir für den Parameter in eckigen Klammern festgelegt haben (siehe Bild 5).

Eingeben des Parameterwertes

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

Schreibe einen Kommentar