Datenauswertung in Access

Was ist eine Abfrage in Access?

Query

Eine Abfrage ist in Access ein gespeicherter Datenbankbefehl, der Datensätze aus einer oder mehreren Tabellen nach festgelegten Kriterien heraussucht, sortiert, berechnet und je nach Typ auch verändert.

Wer in einer Access-Datenbank mehr sehen will als die reine Tabellenansicht, kommt an Abfragen nicht vorbei, denn sie liefern die Grundlage für Formulare, Berichte und Exporte.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Gehört zu
Microsoft Access
Sprache dahinter
SQL
Zwei Grundtypen
Auswahlabfrage und Aktionsabfrage
Verwechselt mit
Filtern in der Datenblattansicht

Entwurfsansicht, Kriterien, SQL

Im Abfrageentwurf ziehst du Tabellen in den oberen Bereich und die benötigten Felder in das Raster darunter. In der Zeile Kriterien steht die Bedingung, etwa ein Datum größer als der Jahresanfang. Für alle Firmen einer Rechtsform schreibst du dort den Operator Wie mit dem Muster „*GmbH“. Mehrere Bedingungen in derselben Zeile werden mit Und verknüpft, untereinander mit Oder.

Jede Abfrage ist im Hintergrund SQL. Über die SQL-Ansicht siehst du den erzeugten Befehl, und manche Konstruktionen wie UNION lassen sich nur dort schreiben. Das ist zugleich der schnellste Weg, SQL zu lernen: eine Abfrage zusammenklicken und danach anschauen, was Access daraus gemacht hat.

Auswahlabfrage und Aktionsabfrage

Die Auswahlabfrage zeigt Datensätze nur an. Aktionsabfragen greifen dagegen in die Daten ein: Anfügen, Aktualisieren, Löschen und Tabelle erstellen. Access fragt vor dem Ausführen zwar nach, sofern die Bestätigungsmeldungen in den Optionen nicht abgeschaltet wurden, rückgängig machen lässt sich das Ergebnis aber nicht. Deshalb baust du eine Aktionsabfrage zuerst als Auswahlabfrage, prüfst die Treffermenge und wandelst sie erst dann um.

Im Alltag begegnen dir außerdem Sonderformen: Die Parameterabfrage fragt beim Start nach einem Wert, die Kreuztabellenabfrage verdichtet Daten ähnlich wie eine Pivot-Tabelle, und über die Zeile Funktion fasst du Werte mit Summe, Anzahl oder Mittelwert zusammen.

Verknüpfungen sind die häufigste Fehlerquelle

Sobald zwei Tabellen im Entwurf liegen, entscheidet die Verknüpfungsart über das Ergebnis. Standard ist der Inner Join: Es erscheinen nur Datensätze, die auf beiden Seiten einen Partner haben. Ein Kunde ohne Bestellung fällt damit heraus. Wer alle Kunden sehen will, braucht einen Outer Join, den du über die Verknüpfungseigenschaften einstellst.

Fehlt die Verknüpfungslinie ganz, bildet Access das Kreuzprodukt und multipliziert die Zeilen beider Tabellen. Wenn eine Abfrage plötzlich absurd viele Datensätze liefert, ist fast immer das die Ursache.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
Nicht verwechseln

Abfrage und was oft damit gleichgesetzt wird

Abfrage gegen Filter

Ein Filter wirkt nur auf die gerade geöffnete Tabelle oder das Formular und ist nach dem Schließen wieder weg. Eine Abfrage ist ein eigenes Objekt, das gespeichert wird und selbst als Datenquelle für Formulare, Berichte und weitere Abfragen dient.

Abfrage gegen Bericht

Der Bericht ist die Ausgabe, nicht die Auswahl. Er gruppiert, summiert und formatiert das, was eine Abfrage ihm liefert.

Abfrage gegen Sicht im SQL Server

Beim Umstieg von Access auf den SQL Server findest du die gespeicherte Auswahlabfrage dort als Sicht wieder. Aktionsabfragen entsprechen den Anweisungen UPDATE, INSERT und DELETE.

KI-generiertDieses Bild wurde mit KI erzeugt · Yves Hoppe / KI / cmt
In der Praxis

Fehlende Datensätze sind fast immer ein Verknüpfungsproblem

Der Klassiker: Eine Abfrage verbindet Kunden mit Aufträgen und zeigt plötzlich weniger Kunden an, als die Kundentabelle enthält. Ursache ist die Standardverknüpfung, die nur Datensätze ausgibt, zu denen es auf beiden Seiten einen Treffer gibt. Kunden ohne Auftrag fallen heraus. Über die Verknüpfungseigenschaften lässt sich das auf alle Datensätze der Kundentabelle umstellen, und die Zahl stimmt wieder.

Aktionsabfragen verändern Daten, und zwar sofort und ohne Rückfrage. Eine Aktualisierungsabfrage mit vergessenem Kriterium überschreibt jedes Feld der Tabelle. Deshalb baust du sie zuerst als Auswahlabfrage, prüfst die getroffene Menge und schaltest erst danach auf Aktualisieren oder Löschen um. Eine Sicherung der Datei vorher kostet ein paar Sekunden.

Der dritte Punkt ist Wuchern. Abfragen lassen sich auf Abfragen stapeln, und in gewachsenen Datenbanken hängen mehrere Ebenen übereinander, von denen niemand mehr weiß, welche was tut. Wenn eine Auswertung langsam wird, liegt es selten an der Datenmenge, sondern an dieser Kette und an fehlenden Indizes auf den Feldern, über die verknüpft wird.

Abfrage lernen

Vom ersten Datenmodell bis zum fertigen Bericht führen die Access-Kurse für eigene Datenbanken in kleinen Schritten.

Wenn die Auswertung heute noch in einer Tabelle liegt und dort an Grenzen stößt, lohnt vorher ein Blick auf die Excel-Kurse zum Auswerten großer Tabellen .

Häufige Fragen

Warum ändert sich die Tabelle, wenn ich im Abfrageergebnis tippe?
Das Ergebnis einer Auswahlabfrage ist in vielen Fällen bearbeitbar und schreibt direkt in die zugrunde liegende Tabelle zurück. Wenn das nicht gewollt ist, hilft die Eigenschaft Recordsettyp auf Snapshot oder eine Abfrage mit Gruppierung, die grundsätzlich nicht änderbar ist.
Meine Abfrage ist sehr langsam, woran liegt das?
Meist fehlen Indizes auf den Feldern, über die verknüpft oder gefiltert wird. Auch ein Kriterium, das mit einem Platzhalter beginnt, etwa das Muster „*Meier“, verhindert die Indexnutzung, und mehrere Ebenen aufeinander aufbauender Abfragen kosten zusätzlich Zeit.
Brauche ich SQL-Kenntnisse für Access?
Für normale Auswahlabfragen reicht die Entwurfsansicht. Sobald Unterabfragen, UNION oder Zugriffe auf einen SQL Server dazukommen, führt kein Weg an SQL vorbei. Der Umstieg fällt leichter, wenn du geklickte Abfragen vorher regelmäßig im SQL-Fenster gelesen hast.
Persönlich für dich da

Deine Ansprechpartner

Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.

Yves Hoppe

Yves Hoppe

Weiterbildung & Beratung

Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.

Norbert Jansen

Norbert Jansen

Beratung & Inhouse

Plant Inhouse-Trainings, die an euren eigenen Daten und Abläufen ansetzen.

Abfrage im Kurs statt im Lexikon

Nachschlagen bringt dich bis zum Verstehen. Anwenden lernst du an echten Aufgaben.