Access 2010: Abfragen

Aus Augenbit

Abfragen

Abfragen erlauben es die in einer Datenbank gespeicherten Informationen auszuwerten und strukturiert auszugeben. Eine Abfrage ist eine Darstellungsform, eine spezielle Sicht auf Daten. Ein Filter ist die Sonderform einer Abfrage, bei der nur eine einzelne Tabelle ausgewertet wird. Im Unterschied zu Filtern beschränken sich Abfragen allerdings nicht auf eine einzelne Tabelle, sondern arbeiten mit mehreren miteinander in Beziehung stehenden Tabellen. Wer aber verstanden hat wie man Filter erstellt wird mit dem Erstellen von Abfragen ebenfalls keine Probleme haben.

Abfragen lassen sich wie Tabellen speichern und öffnen. Dargestellt werden sie wie Tabellen, man kann in ihnen sogar Daten verändern und löschen. Im Gegensatz zu echten Tabellen speichern Abfragen selbst aber keinerlei Daten. Die Daten, die sie darstellen, werden bei jedem Öffnen oder Ausführen einer Abfrage neu aus den in den Tabellen gespeicherten Daten erzeugt. Ändert man innerhalb einer Abfrage Werte, so werden diese Änderungen an die Tabellen aus der die Werte stammen weitergereicht und dort geändert. Lediglich eine Sonderform der Abfragen, die Tabellenerstellungsabfrage erzeugt aus den durch eine Abfrage zusammengestellten Daten eine eigenständige, neue Tabelle.

Innerhalb von Access kennen Abfragen drei grundlegende Darstellungsformen (fünf mit den hier nicht behandelten PIVOT-Ansichten).

  1. Die Entwurfsansicht erlaubt es Abfragen zu definieren.
  2. Die SQL-Ansicht erlaubt es eine Abfrage mit Hilfe der Datenbanksprache SQL in Textform zu definieren.
  3. Die Datenblattansicht zeigt das Ergebnis einer ausgeführten Abfrage in Tabellenform an.

Abfragen Datenblattansicht

Die Datenblattansicht stellt das Ergebnis einer Abfrage in Tabellenform dar. Die Navigation in dieser Abfragen-Tabelle unterscheidet sich nicht von der Navigation innerhalb einer Daten-Tabelle. Mit den Pfeiltasten navigiert man durch die Datensätze, kann über das Menü zusätzliche Filter aufrufen oder die Sortierung der Daten beeinflussen. Lesen Sie hierzu bitte das Kapitel Access 2010: Arbeiten in der Tabellen-Datenblattansicht

Abfragen Entwurfsansicht

Die Abfragen Entwurfsansicht erlaubt es komplexe Abfragen mit ohne direkte Eingabe von SQL-Code zu erstellen.

Das von links nach rechts langezogene Fenster der Abfragen-Entwurfsansicht besteht aus zwei Bereichen zwischen denen Sie mit F6 wechseln können. Es ist das gleiche wie bei den Filtern. Im oberen Teil wird eine Übersicht der Tabellen angezeigt, auf welche die Abfrage angewendet werden solle. Jede Tabelle wird als sogenannte Feldliste angezeigt. Eine Feldliste zeigt die Spaltenüberschriften einer Tabelle in Listenform, also in vertikaler Ausrichtung, an. Um unteren Teil des Fensters befindet sich der Kriterienbereich. Er besteht aus einer Tabelle. Die Zeilen der Tabelle sind wie folgt beschriftet.

  1. FELD:
  2. TABELLE:
  3. SORTIERUNG:
  4. ANZEIGEN:
  5. KRITERIEN:
  6. ODER:

Die Spalten haben keine Beschriftung.

Abfragen SQL-Ansicht

Die SQL-Ansicht besteht aus einem einfachen Textfeld, in welches man SQL-Code direkt eingeben kann. Zum Ausführen der Abfragen benutzen Sie die gleichen Menüeinträge wie bei der Entwurfsansicht.

Abfrage öffnen / ausführen

Um eine Abfrage zu öffnen und damit auch auszuführen navigieren Sie im Datenbankfenster auf die gewünschte Abfrage und drücken Sie EINGABE.

Abfrage erstellen

Abfragen werden in der Abfragen-Entwurfsansicht erstellt oder bearbeitet. Die Abfragen-Entwurfsansicht kann auf verschiedene Wege aufgerufen werden:

aus dem Datenbankfenster:

  • Navigieren Sie auf eine bestehende Abfrage und drücken Sie die APPLIKATIONSTASTE. Wählen Sie ENTWURFSANSICHT (APPLIKATIONSTASTE,W)
  • Rufen Sie die Objektgruppe ABFRAGEN auf und gehen Sie anschließend im Inhaltsbereich auf den Eintrag ERSTELLT EINE ABFRAGE IN DER ENTWURFSANSICHT
  • Wählen Sie den Menüeintrag EINFÜGEN - ABFRAGE (ALT,E,A). Im sich öffnenden Dialogfeld wählen Sie ENTWURFSANSICHT und bestätigen mit EINGABE.

aus einer geöffneten Abfrage heraus:

  • Wählen Sie den Menüeintrag ANSICHT - ENTWURFSANSICHT (ALT,A,W)

Die Entwurfsansicht besteht aus zwei Fensterbereichen, dem Feldeingabebereich in der oberen Fensterhälfte und dem Feldeigenschaftenbereich mit dem Informationsbereich in der unteren Bildschirmhälfte. Zwischen den beiden Bereichen kann mit der F6 Taste gewechselt werden.

Tabellen für die Abfrage auswählen

  1. Das Abfragenerstellungsfenster ist bei seinem ersten Aufruf leer und zeigt keine Tabellen an. Um Tabellen einzublenden und mit ihnen weiterarbeiten zu können wählen Sie Menüpunkt - ABFRAGE - TABELLE ANZEIGEN (ALT,R,A).
  2. Im sich öffnenden Dialogfenster TABELLE ANZEIGEN gibt es drei Registerkarten (TABELLEN, ABFRAGEN, BEIDE) und zwei Schalter (HINZUFÜGEN, SCHLIESSEN), sowie ein Listenfeld. Die Registerkarten erlauben es auszuwählen, ob im Listenfeld nur Tabellen, nur Abfragen, oder eben beides angezeigt werden soll.
  3. Mit AB und AUF navigiert man durch das Listenfeld und sucht eine die Tabellen aus, die man für die Abfrage benötigt.
  4. Mit TAB springt man auf den Schalter HINZUFÜGEN. Ohne weitere Rückmeldung wird dadurch die eben selektierte Tabelle in das Abfragenerstellungsfenster übernommen.
  5. MIT UMSCHALT+TAB springt man zurück in das Listenfeld und sucht mit AB und AUF die nächste Tabelle, die man wieder über den Schalter HINZUFÜGEN in das Abfragenerstellungsfenster übernehmen kann.
  6. Hat man alle Tabellen, die man zum Erstellen der Abfrage benötigt in das Abfragenerstellungsfenster übernommen, schließt man das TABELLE ANZEIGEN Dialogfenster über den Schalter SCHLIESSEN.
Tabellen für eine Abfrage nachträglich hinzufügen

Sollten Sie feststellen, dass Sie benötigte Tabellen bei diesem ersten Schritt vergessen haben, können Sie die Tabellenauswahl jederzeit wieder über das Menü ABFRAGE - TABELLE ANZEIGEN (ALT,R,A) aufrufen.

Tabellen aus einer Abfrage entfernen

Sollten Sie eine oder mehrere Tabellen zu viel zu einer Abfrage hinzugefügt haben, so können Sie diese leicht wieder entfernen. Navigieren Sie innerhalb der Abfragen-Entwurfsansicht mit TAB auf die Tabelle, die Sie entfernen möchten und drücken Sie anschließend ENTF. Alternativ können Sie auch den Menüeintrag ABFRAGE - TABELLE ENTFERNEN (ALT,R,B) verwenden. Wenn Sie sich nicht sicher sind in welcher Tabelle sich der Cursor gerade befindet, drücken Sie AB oder AUF um auf einen anderen Eintrag innerhalb des Tabellenfensters zu gelangen. Jaws sagt nach dem Listeneintrag den Namen der Tabelle an.

Art der Abfrage wählen

Access kennt sechs verschiedene Abfragearten, die Sie über das Menü ABFRAGEN (ALT,R) der Abfragen-Entwurfsansicht wählen können:

  1. Auswahlabfrage (ALT,R,W) - Die Auswahlabfrage sammelt Daten nach gesetzten Kriterien und stellt diese dar. Einfache Rechenoperationen, zum Beispiel das Erstellen von Summen sind möglich.
  2. Kreuztabellenabfrage (ALT,R,K) - Die Kreuztabellenabfrage erlaubt es Daten zu sammeln, zu analysieren und sie sehr kompakt wiederzugeben.
  3. Tabellenerstellungsabfrage (ALT,R,E) - Die Tabellenerstellungsabfrage arbeitet wie die Auswahlabfrage, speichert ihre Ergebnisse aber in einer neuen, echten Tabelle.
  4. Aktualisierungsabfrage (ALT,R,U) - Die Aktualisierungsabfrage tauscht Werte in bestehenden Tabellen gegen neue aus.
  5. Anfügeabfrage (ALT,R,F) - Die Anfügeabfrage arbeitet wie die Auswahlabfrage, hängt ihre Ergebnisse aber an eine bereits bestehende Tabelle mit identischem Aufbau an.
  6. Löschabfrage (ALT,R,L) - Die Löschabfrage löscht nach gesetzten Kriterien Datensätze aus bestehenden Tabellen

Beim Abfragetyp Tabellenerstellungsabfrage öffnet sich das Dialogfeld NEUE TABELLE ERSTELLEN. Der Cursor befindet sich in einem kombinierten Eingabefeld. Geben Sie hier den Namen der neu zu erstellenden Tabelle ein und bestätigen Sie anschließend mit EINGABE.

Beim Abfragetyp Aktualisierungsabfrage öffnet sich das Dialogfeld ANFÜGEN. Der Cursor befindet sich in einem kombinierten Eingabefeld, welches Sie mit ALT+AB öffnen können. Navigieren Sie mit AB und AUF zu der Datentabelle Ihrer Datenbank an welche das Ergebnis der Abfrage angefügt werden soll. Bestätigen Sie mit EINGABE. Bitte beachten Sie, dass die Struktur der hier gewählten Tabelle exakt mit der Ausgabe Ihrer Abfrage übereinstimmen muss. Um dies zu testen empfiehlt es sich die Abfrage zunächst als Auswahlabfrage zu definieren, ihre Ausgabe zu testen und dann später den Abfragetyp nachträglich zu ändern.

definieren der Abfrageparameter

  1. Wechseln Sie nach der Wahl der Tabellen und der Abfragenart mit F6 in den Kriterienbereich. Dieser besteht wie bereits erwähnt aus einer mehrspaltigen Tabelle. Die Spalten dieser Tabelle werden beim Ausführen der Abfrage in Reihenfolge nacheinander abgearbeitet. In jeder Spalte setzen Sie die Abfrageparameter für ein Datenfeld aus einer in der Datenbank gespeicherten Datentabelle.
  2. Navigieren Sie mit den Pfeiltasten in ein freies Feld in die zweiter Zeile der ersten Spalte (Zeile TABELLE). Jaws sag ein Eingabefeld an.
  3. Mit ALT+AB öffnen Sie die Ausklappliste des Feldes. In ihr befinden sich alle in der Abfrage angezeigten Tabellennamen. Wählen Sie mit AB und AUF eine Datentabelle aus, und schließen Sie Ihre Auswahl mit ESC ab (Drücken Sie NICHT EINGABE, da der Cursor ansonsten zur nächsten Spalte springt).
  4. Navigieren Sie mit AUF in die erste Zeile (Zeile FELD) der ersten Spalte.
  5. Mit ALT+AB öffnen Sie die Ausklappliste des Feldes. In ihr befinden sich alle Feldnamen (Spaltenüberschriften) der Datentabelle die Sie im vorigen Schritt gewählt haben. Mit AB und AUF navigieren Sie zu dem Feldnamen (Spaltenüberschrift) der in Ihrer Abfrage erscheinen soll, drücken ESC und danach AB (!!! nicht EINGABE!!!).
    • Kennen Sie den Namen des Feldnamens (Spaltenüberschrift) auswendig, können Sie ihn ALTERNATIV auch ohne die Ausklappliste einfach direkt in das Eingabefeld eingeben. Access unterstützt Sie bei der Eingabe, indem es versucht an Hand der bereits getippten Buchstaben zu erkennen welcher Feldname (Spaltenüberschrift) gewünscht ist und diese automatisch ergänzt. Übernommen wird der Eintrag durch Drücken von AB. (!!! erneut nicht EINGABE)
  6. Navigieren Sie mit AB in die dritte Zeile (Zeile SORTIERUNG) der ersten Spalte. Hier gibt es verschiedene Möglichkeiten:
    • Soll keine Sortierung vorgenommen werden lassen Sie das Feld frei und gehen mit AB in die nächste Zeile.
    • Wünschen Sie eine Sortierung, so legen Sie deren Art durch Öffnen der Ausklappliste mit ALT+AB fest. Zur Wahl stehen AUFSTEIGEND, ABSTEIGEND und KEINE SORTIERUNG. Drücken Sie anschließen ESC und dann AB. Selbstverständlich können Sie die Art der Sortierung auch wieder durch direkte Eingabe in das Eingabefeld durch Ausschreiben des entsprechenden Begriffes festlegen. Access unterstützt sie auch hierbei. Beenden Sie ihre Eingabe in diesem Fall mit AB.
  7. Der Cursor steht nun in der vierten Zeile (Zeile ANZEIGEN) der ersten Spalte. Diese enthält einen Auswahlschalter, der standardmäßig aktiviert ist. Der Auswahlschalter entscheidet darüber, ob das in dieser Spalte definierte Feld nach dem Ausführen der Abfrage sichtbar sein soll oder nicht. Ist der Auswahlschalter aktiviert wird das Feld in der Abfrage angezeigt. Soll das Feld nur als Filterkriterium dienen, aber später nicht in der Abfrage erscheinen, so deaktiviert man die Auswahl mit LEERTASTE.
  8. Navigieren Sie mit AB in die fünfte Zeile (Zeile KRITERIEN) der ersten Spalte. Formulieren Sie hier Ihre Abfragekriterien mit Hilfe von Operatoren und Platzhaltern (Siehe auch: Access: Operatoren, Platzhalter und Bedingungsausdrücke). Gehen Sie nach Ihrer Eingabe mit AB in die nächste Zeile.
  9. Sie befinden sich in der sechsten Zeile (Zeile ODER). Hier können Sie mit Operatoren und Platzhaltern ein zweites Abfragekriterium angeben, nach dem innerhalb des gewählten Feldnamen (Spaltenüberschrift) gesucht werden soll.
  10. Sie haben nun zwei Möglichkeiten.
    • Sie navigieren in die nächste Spalte um weitere Felder entsprechend den eben genannten Schritten zur Abfrage hinzuzufügen und wiederholen diesen Vorgang bis Ihre Abfrage alle von Ihnen gewünschten Felder enthält.
    • Sie führen die Abfrage aus indem Sie den Menüeintrag ABFRAGE - AUSFÜHREN (ALT,R,H) wählen.

Gruppierungsfunktionen

Access: Abfragen mit dem SQL Editor