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
Abfrage und was oft damit gleichgesetzt wird
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.
Der Bericht ist die Ausgabe, nicht die Auswahl. Er gruppiert, summiert und formatiert das, was eine Abfrage ihm liefert.
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
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?
Meine Abfrage ist sehr langsam, woran liegt das?
Brauche ich SQL-Kenntnisse für Access?
Deine Ansprechpartner
Du willst das Thema nicht nur nachschlagen, sondern anwenden können? Wir beraten dich persönlich und kostenlos.
Yves Hoppe
Weiterbildung & Beratung
Ordnet mit dir ein, welcher Kurs zu deinem Vorwissen passt.
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.