Abfragen sind das Schweizer Taschenmesser von Access, um die Daten aus einer oder mehreren Tabellen zusammenzustellen, zu filtern, zu gruppieren und mehr. Dabei sind Abfragen wie Access selbst eine Einheit, mit der Sie die verschiedenen Aufgaben erledigen können – mit einer grafischen Entwurfsoberfläche stellen Sie die Tabellen und Felder und die gewünschten Kriterien, Sortierungen, Gruppierungen und mehr zusammen und mit der Datenblattansicht können Sie die Ergebnisse betrachten. Schließlich gibt es noch die SQL-Ansicht, mit der Sie den Code, der sich eigentlich hinter dem Entwurf verbirgt, ansehen und ändern. Und manche Abfragen erfordern sogar die Eingabe in dieser Ansicht. Wir werden in dieser Artikelreihe eingehend auf das Erstellen von Abfragen eingehen und die genannten und weitere Aspekte betrachten. Der vorliegende Artikel liefert dabei eine Übersicht und zeigt, in welchen Artikeln wir die einzelnen Themen in den kommenden Ausgaben von Access [basics] behandeln werden.
Verschiedene Abfragetypen
Abfragen sind unter Access in drei verschiedene Typen unterteilt:
- Auswahlabfragen: Dienen der Auswahl von Daten aus einer oder mehreren Tabellen unter Verwendung von Kriterien, Sortierungen, Gruppierungen und mehr
- Aktionsabfragen: Erlauben das Hinzufügen, Bearbeiten oder Löschen von Datensätzen oder auch das Erstellen ganzer Tabellen auf der Basis einer Auswahlabfrage
- Abfragen für das Manipulieren des Datenmodells: Ermöglichen das Erstellen, Ändern oder Löschen von Tabellen, Feldern und Indizes.
Auswahlabfragen
Die Abfragen zur Auswahl von Daten erlauben das Ermitteln von Daten, die aus einer oder aus mehreren Tabellen stammen, die nicht unbedingt miteinander verknüpft sein müssen.
Sie können Auswahlabfragen auf folgende Arten erstellen:
- Über die Entwurfsansicht, mit der Sie die Tabellen und Felder, die im Abfrageergebnis erscheinen sollen, komfortabel über eine grafische Oberfläche zusammenstellen können. Hinter einer auf diese Weise zusammengestellten Abfrage steckt jedoch immer ein SQL-Ausdruck, mit dem die Datenbank-Engine von Access letztlich arbeitet.
- Über die SQL-Ansicht, die den SQL-Code anzeigt, der für die Ausführung der Abfrage nötig ist. Die Entwurfsansicht ist nur eine Benutzeroberfläche zur Vereinfachung der Zusammenstellung einer Abfrage. Auch wenn Sie fast alle Abfragen über die grafische Benutzeroberfläche zusammenstellen können, gibt es doch Ausnahmen – zum Beispiel die UNION-Abfrage.
Aktionsabfragen
Aktionsabfragen sind Abfragen, mit denen Sie eine der folgenden Operationen durchführen können:
- Anfügeabfragen: Anfügen eines oder mehrerer Datensätze an eine bestehende Tabelle
- Aktualisierungsabfrage: Ändern von bestehenden Datensätzen einer Tabelle
- Löschabfragen: Löschen von Datensätzen mit bestimmten Kriterien (oder auch aller Datensätze, dann ist kein Kriterium notwendig)
- Tabellenerstellungsabfragen: Diese sind ein Sonderfall, denn mit einer Tabellenerstellungsabfrage werden nicht nur Datensätze erstellt, sondern auch gleich die passende Tabelle. Deren Eigenschaften richten sich nach den einzufügenden Daten.
Ausgangspunkt für das Erstellen von Abfragen
Den Startpunkt für das Erstellen einer Abfrage finden Sie im Ribbon im Bereich Erstellen|Abfragen. Hier finden Sie nur zwei Befehle, was in Anbetracht der zuvor genannten verschiedenen Abfragetypen etwas wenig erscheint (siehe Bild 1).
Bild 1: Möglichkeiten zum Erstellen neuer Abfragen über die Benutzeroberfläche
Die beiden Befehle lauten:
- Abfrage-Assistent: Öffnet den Abfrage-Assistenten, mit dem Sie verschiedene Abfragen erstellen können.
- Abfrageentwurf: Zeigt die Benutzeroberfläche zum Erstellen von Abfragen an.
Wo aber verstecken sich all die genannten verschiedenen Abfragetypen Das erläutern wir weiter unten.
Der Abfrage-Assistent
Zunächst einmal schauen wir uns an, welche Möglichkeiten uns der Abfrage-Assistent bietet. Ein Klick auf den Ribbonbefehl Erstellen|Abfragen|Abfrage-Assistent öffnet den Dialog aus Bild 2.
Bild 2: Der Abfrage-Assistent
Hier wird es nicht weniger kompliziert, denn dieser bietet wiederum vier verschiedene Möglichkeiten an. Schauen wir uns das im Detail an:
- Auswahlabfrage-Assistent: Dieser Assistent unterstützt Sie rudimentär beim Erstellen sehr einfacher Abfragen, die auf einer einzigen Tabelle basieren und keine weiteren Features wie Kriterien, Sortierungen, Gruppierungen et cetera aufweisen. Mehr dazu im Artikel Abfragen [basics]: Auswahlabfragen per Assistent (www.access-basics.de/588).
- Kreuztabellenabfrage-Assistent: Dieser Assistent unterstützt Sie beim Erstellen von Kreuztabellenabfragen. Dieser Abfragetyp liefert eine tabellarische Darstellung beispielsweise der Summen von Umsätzen mit bestimmten Artikeln in verschiedenen Zeitintervallen. Mehr dazu erfahren sie im Artikel Abfragen [basics]: Kreuztabellenabfragen per Assistent (www.access-basics.de/597).
- Abfrage-Assistent zur Duplikatsuche: Dieser Assistent hilft Ihnen, Abfragen zum Auffinden von Duplikaten zu erstellen – beispielsweise um zu untersuchen, ob ein bestimmter Kunde mehr als einmal in der Kundentabelle auftaucht. Mehr dazu erfahren sie im Artikel Abfragen [basics]: Duplikate per Assistent suchen (www.access-basics.de/598).
- Abfrage-Assistent zur Inkonsistenzsuche: Wenn Sie beispielsweise die Kategorien von Artikeln in einer eigenen Tabelle speichern, auf die Sie vom Feld KategorieID der Artikeltabelle verweisen, kann es sein, dass es Werte im Feld KategorieID gibt, zu denen es keinen passenden Eintrag in der Tabelle der Kategorien gibt. Der Abfrage-Assistent zur Inkonsistenzsuche hilft Ihnen dabei, eine Abfrage zum Auffinden solcher Datensätze zu erstellen. Mehr dazu erfahren Sie im Artikel Abfragen [basics]: Inkonsistenzen per Assistent suchen (www.access-basics.de/599).
Abfragen für das Manipulieren des Datenmodells
Die Benutzeroberfläche von Access bietet alle Möglichkeiten, Tabellen zu erstellen, zu ändern oder zu löschen, Felder und Indizes hinzuzufügen, zu ändern oder zu löschen oder auch die Beziehungen zwischen Tabellen zu manipulieren. Hinter diesen Aktionen stecken allerdings, für den Access-Benutzer nicht sichtbar, entsprechende SQL-Anweisungen.
Diese können Sie auch selbst nutzen, um die Schritte auszuführen, die Sie sonst über die Benutzeroberfläche erledigen würden.
Mehr zu diesem Thema finden Sie im Übersichtsartikel mit dem Titel Abfragen [basics]: Datenbanken entwerfen mit SQL (www.access-basics.de/600).
Ansichten für Abfragen
Für die Arbeit mit Abfragen gibt es drei verschiedene Ansichten:
- Entwurfsansicht: Diese Ansicht ist eine grafische Ansicht zum Bearbeiten des Entwurfs einer Abfrage mit Maus und Tastatur. Mit Ihr können Sie fast alle Abfragetypen der Typen Auswahlabfrage und Aktionsabfrage erstellen (außer UNION-Abfragen).
- SQL-Ansicht: Die SQL-Ansicht ist ein sehr rudimentärer Editor für die Anzeige und Bearbeitung von Abfragen direkt in ihrem SQL-Code.
- Datenblattansicht: Die Datenblattansicht liefert praktisch das Ergebnis einer Abfrage. Sie sieht genauso aus wie eine Tabelle in der Datenblattansicht.
Anzeigen von Abfragen in einer der verschiedenen Ansichten
Wenn Sie eine Abfrage bereits erstellt haben und diese in einer der verschiedenen Ansichten anzeigen wollen, gibt es verschiedene Möglichkeiten.
Am einfachsten ist die Ansicht einer Abfrage in der Datenblattansicht, denn in dieser öffnen Sie eine Abfrage bereits durch einen Doppelklick auf den entsprechenden Eintrag im Navigationsbereich von Access.
Die zweite Möglichkeit finden Sie im Kontextmenü des Eintrags einer Abfrage im Navigationsbereich von Access. Klicken Sie mit der rechten Maustaste auf eine Abfrage, finden Sie die beiden folgenden Befehle vor (siehe Bild 3):
Bild 3: Öffnen einer Abfrage per Kontextmenü aus dem Navigationsbereich heraus
- Öffnen: Öffnet die Abfrage wiederum in der Datenblattansicht.
- Entwurfsansicht: Öffnet die Abfrage in der Entwurfsansicht.
Das Öffnen in der Datenblattansicht geht schneller per Doppelklick, aber zum Öffnen in der Entwurfsansicht können Sie das Kontextmenü gut nutzen. Vielleicht haben Sie festgestellt, dass es keinen Eintrag im Kontextmenü gibt, der die Abfrage direkt in der SQL-Ansicht öffnet. Den Grund dafür kennen wir nicht, aber Sie können immerhin von einer geöffneten Abfrage zu dieser Ansicht wechseln.
Wechseln der Ansicht von Abfragen
Wenn Sie eine Abfrage einmal geöffnet haben, egal in welcher Ansicht, können Sie die Ansicht auf verschiedenen Wegen ändern:
- per Ribbonbefehl
- per Kontextmenü
- per Tastenkombination
Wechseln der Ansicht per Ribbon
Die Ribbonbefehle zum Wechseln der Ansicht finden Sie beispielsweise während der Anzeige in der Entwurfsansicht im Tab Abfrageentwurf in der Gruppe Ergebnisse. Ein Klick auf den Splitbutton Ansicht wechselt von der Entwurfsansicht und der Datenblattansicht jeweils zur anderen Ansicht. Sie können aber auch das Menü aufklappen und finden dann alle verfügbaren Ansichten vor (siehe Bild 4). Hier können Sie nun auch zur SQL-Ansicht wechseln.
Bild 4: Wechseln zur SQL-Ansicht einer Abfrage über einen Ribbon-Befehl
Wechseln der Ansicht per Kontextmenü
Wenn Sie in einer beliebigen Ansicht mit der rechten Maustaste auf die Titelleiste klicken, finden Sie immer alle verfügbaren Ansichten im Kontextmenü vor, auch die aktuelle Ansicht. Dabei wird die aktuelle Ansicht optisch hervorgehoben. Klicken Sie beispielsweise in der Entwurfsansicht mit der rechten Maustaste in den oberen Bereich, finden Sie ebenfalls Befehle zum Wechseln der Ansicht im Kontextmenü vor – allerdings nur die für die SQL-Ansicht und die Datenblattansicht (siehe Bild 5).
Bild 5: Einstellen der Ansicht per Kontextmenü der Entwurfsansicht
Wechseln der Ansicht per Tastenkombination
Am schnellsten wechseln Sie die Ansicht mit der Tastatur:
- Mit der Tastenkombination Strg + , wechseln Sie von der Entwurfsansicht zur Datenblattansicht und von der Datenblattansicht zur SQL-Ansicht.
- Mit der Tastenkombination Strg + . wechseln Sie von der SQL-Ansicht zur Datenblattansicht und von der Datenblattansicht zur Entwurfsansicht.
Die Entwurfsansicht für Abfragen
Mit der Entwurfsansicht können Sie fast alle Abfragetypen erstellen. Wir schauen uns die Möglichkeiten der Entwurfsansicht in einem Übersichtsartikel mit dem Titel Abfragen [basics]: Die Entwurfsansicht (www.access-basics.de/601) genauer an.
Dort erfahren Sie auch, in welchen weiteren Artikeln die einzelnen Möglichkeiten beim Erstellen von Abfragen beschrieben werden.
Die SQL-Ansicht für Abfragen
Die zweite Ansicht, in der Sie eine Abfrage editieren können, ist die SQL-Ansicht. Diese können Sie, wie oben beschrieben, nur über eine der übrigen Ansichten öffnen. Diese Ansicht sieht wie ein kleiner Texteditor aus und bietet tatsächlich nur die Möglichkeit zur Eingabe von Texten und die Funktionen der Zwischenablage (siehe Bild 6).
Bild 6: Die SQL-Ansicht mit einer einfachen Abfrage
Einstellen der Schriftgröße der SQL-Ansicht
Wir werden die SQL-Ansicht nicht in einem eigenen Artikel vorstellen, daher hier noch die Informationen, wie Sie die Schrift in der SQL-Ansicht anpassen. Diese kommt nämlich standardmäßig recht klein daher.
Um die Schrift in der SQL-Ansicht zu ändern, benötigen Sie den Dialog Access-Optionen, den Sie mit dem Ribbonbefehl Datei|Optionen öffnen. Hier finden Sie im Bereich Objekt-Designer unter Abfrageentwurf zwei Optionen. Die eine stellt die Schriftart ein, die andere den Schriftgrad (siehe Bild 7).
Bild 7: Einstellen der Schriftgröße der SQL-Ansicht
Hier können Sie die Schrift vergrößern. Sie sollten diese allerdings nicht allzu groß gestalten, denn die hier angegebenen Optionen werden nicht nur in der SQL-Ansicht, sondern auch im Entwurfsraster der Entwurfsansicht angewendet.
Die SQL-Ansicht benötigen Sie zwingend für die Erstellung von UNION-Abfragen. Außerdem ist sie sehr hilfreich, wenn ein hinter einer Abfrage steckender SQL-Ausdruck von der Datenbank-Engine nicht interpretiert werden kann.
Dann zeigt Access die SQL-Ansicht mit dem SQL-Ausdruck an und markiert die Stelle, an der das Verständnisproblem auftaucht. Im Beispiel aus Bild 8 gibt es vor dem FROM-Schlüsselwort ein überzähliges Komma, weshalb Access versucht, das Element nach dem Komma als Feldnamen zu interpretieren. Das misslingt in diesem Fall, da FROM ein reserviertes Schlüsselwort ist und nicht als Feldname verwendet werden darf.
Bild 8: Eine fehlerhafte Stelle wird angezeigt.
Die Datenblattansicht von Abfragen
Die Datenblattansicht von Abfragen ist im Prinzip die Ergebnisanzeige. Sie liefert eine Ansicht, die identisch mit der einer Tabelle ist und auch die gleichen Funktionen anbietet wie etwa zum Sortieren, zum Filtern und zum Ein- und Ausblenden der Spalten (siehe Bild 9).
Bild 9: Beispiel für die Datenblattansicht
Die Datenblattansicht beschreiben wir in einem eigenen Artikel.
Woher kommen die Daten für eine Abfrage
Die bisherigen Schilderungen mögen den Eindruck erzeugen, dass Abfragen ihre Daten immer aus Tabellen beziehen. Das ist grundsätzlich richtig, aber es gibt auch Ausnahmen.
Die erste ist nicht wirklich eine Ausnahme, sondern nur ein Umweg: Sie können einer Abfrage als Datenquelle auch eine weitere, bereits erstellte Abfrage zuweisen. Diese wird allerdings in den meisten Fällen ihre Daten auch wieder aus einer oder mehreren Tabellen beziehen. Es gibt aber auch eine echte Ausnahme, denn eine Abfrage kann auch einfach einen per Abfrage definierten Wert enthalten oder das Ergebnis einer Funktion. Dies soll an dieser Stelle nur der Vollständigkeit halber erwähnt werden.
Zusammenfassung und Ausblick
Nach dieser Einführung starten wir bereits in dieser Ausgabe mit dem ersten Artikel zum Thema, und zwar mit Abfragen [basics]: Auswahlabfragen per Assistent (www.access-basics.de/588). Danach folgen weitere Artikel, welche die verschiedenen Abfragetypen vorstellen.
Hier ist die Übersicht der Artikel, die wir zu diesem Thema in den nächsten Ausgaben veröffentlichen werden:
- Einfache Abfragen erstellen: Wenn wir eine Auswahlabfrage erstellen wollen, wie wir sie im oben erwähnten Artikel vorgestellt haben, finden Sie alle notwendigen Schritte im Artikel Abfrage [basics]: Einfache Abfragen erstellen (www.access-basics.de/602) vor.
- Sortieren in Abfragen: Manchmal möchte man einfach nur die Inhalte einer Tabelle nach den Werten eines oder mehrerer Felder sortieren. Wie das gelingt, zeigt der Artikel Abfragen [basics]: Sortieren in Abfragen (www.access-basics.de/589).
- Filtern nach Zahlenfeldern: Eine der Hauptaufgaben von Abfragen ist das Filtern nach verschiedenen Kriterien. Dabei muss man je nach der Art der zu filternden Daten ein paar Dinge beachten. Welche das bei Zahlenfeldern sind, liest Du unter Abfragen [basics]: Nach Zahlenfeldern filtern (www.access-basics.de/591).
- Filtern nach Textfeldern: Auch bei Textfeldern gibt es einige Besonderheiten bezüglich Abfragen. Mehr dazu unter Abfragen [basics]: Nach Textfeldern filtern (www.access-basics.de/590).
- Filtern nach Datumsfeldern: Datumsfelder sind eigentlich Zahlenfelder mit spezieller Formatierung. Wie wir das in Abfragen berücksichtigen können, lesen wir in Abfragen [basics]: Nach Datumsfeldern filtern (www.access-basics.de/592).
- Gruppierungen in Abfragen: Die Daten in Abfragen lassen sich außerdem nach verschiedenen Kriterien gruppieren. Wozu das Um verschiedene Berechnungen auf Basis dieser Gruppierungen durchzuführen, beispielsweise um Summen, Mittelwerte oder einfach nur die Anzahl von Elementen einer Gruppe zu ermitteln. Die Basics rund um Gruppierungen liefert der Artikel Abfragen [basics]: Gruppierungen nutzen (www.access-basics.de/593).
- Auswahlabfragen mit mehreren Tabellen: Manchmal möchten wir Abfragen nutzen, um die Daten aus mehreren Tabellen zusammenzuführen. Die Grundlagen dazu finden wir im Artikel Abfragen [basics]: Daten aus mehreren Tabellen (www.access-basics.de/594).
- UNION-Abfragen: Wenn wir die Daten mehrerer Tabellen, die ähnlich aufgebaut sind, in einer Abfrage zusammenfassen wollen, benötigen wir eine UNION-Abfrage. Die Regeln zum Erstellen solcher Abfragen lesen wir im Artikel Abfragen [basics]: Daten zusammenfassen mit UNION (www.access-basics.de/595).
- Kreuztabellen-Abfragen: Eine powervolle Möglichkeit, Daten einmal anders zusammenzufassen, sind Kreuztabellen-Abfragen. Damit ermitteln wir beispielsweise die Umsätze je Monat und Kategorie. Wie das geht, lesen wir in Abfragen [basics]: Daten auswerten mit Kreuztabellen (www.access-basics.de/596).
Die bisherige Auflistung ist noch nicht komplett – wir werden die Themen in den nächsten Ausgaben noch erweitern, um einen umfassenden Workshop zum Thema Abfragen zu liefern.