Abfragearten:

Auswahlabfrage
Tabellenerstellungsabfrage
Aktualisierungsabfrage
Anfügeabfrage
Löschabfrage

Funktionen (Berechnungen und Gruppierungen durchführen)
Tabellen verknüpfen
Übung 5: Komplexere Abfragen


Abfragearten WICHTIG: Bitte verwenden Sie für alle Übungen die Übungsdatenbank "Loesungen.mdb". Falls Sie diese noch nicht runtergeladen haben (klicken Sie dazu in der Menüleiste auf den Button "Download").

Bisher haben Sie nur einen Abfragetyp kennengelernt, nämlich die Auswahlabfrage. Es stehen Ihnen aber noch 4 weitere Typen zur Verfügung, die im folgenden genauer erläutert werden und die bei Auswertungen von großer Bedeutung sind.


Auswahlabfrage

Die am häufigsten verwendete Abfrageart ist die Auswahlabfrage. Eine Auswahlabfrage wählt eine Gruppe von Datensätzen aus einer oder mehreren Tabellen aus.


Beispiel: Auswahlabfrage

a) einfach

  • Benutzte Tabelle: Bestellungen


Geben Sie eine Liste aller Bestellungen aus, bei denen die Bestellmenge über 50 Stück liegt.


b) erweitert

  • Benutzte Tabellen: Bestellungen


Erweitern Sie die Abfrage um das Kriterium "Bestelldatum". Lassen Sie sich nur die Bestellungen ausgeben, bei denen das Bestelldatum größer dem 31.01.97 ist.


Tabellenerstellungsabfrage

Wie der Name schon sagt, haben Sie mit dieser Abfrageart die Möglichkeit, aus einer bzw. aus mehreren Tabellen (nach selbst gewählten Kriterien) eine neue Tabelle zu erstellen.

Wählen Sie im Menü "Abfrage" den Befehl "Neue Tabelle erstellen" aus und geben Sie der neuen Tabelle einen Namen.

Wichtig: Sehen Sie sich die Abfrage in der Datenblattan-sicht an, bevor Sie sie ausführen. Diese Ansicht zeigt Ihnen, welche Datensätze für die Erstellung der neuen Tabelle ausgewählt wurden.

Beispiel: Tabellenerstellungsabfrage

  • Benutzte Tabelle: Kundenstamm


Erstellen Sie eine neue Tabelle, die nur die Kunden enthält, die im März Geburtstag haben. Geben Sie der neuen Tabelle den Namen "Geburtstagsliste März".


Aktualisierungsabfrage

Eine Aktualisierungsabfrage aktualisiert Daten in Ihren Tabellen. Sie wählen die Datensätze und Felder, die aktualisiert werden sollen. Diese Abfrage findet z.B. Anwendung, wenn Sie für einen bestimmten Artikelkreis eine Preiserhöhung durchführen möchten.

Wichtig: Sehen Sie sich die Abfrage in der Datenblattan-sicht an, bevor Sie sie ausführen. Diese Ansicht zeigt Ihnen, welche Datensätze aktualisiert werden, wenn Sie die Abfrage ausführen. Ein Rückgängigmachen der Aktualisierung ist nur durch das Erstellen einer neuen Abfrage möglich.


Beispiel: Aktualisierungsabfrage

  • Benutzte Tabelle: Artikelstamm


Führen Sie für alle Textmarker eine Preiserhöhung von 0,10 € durch.



Anfügeabfrage

Eine Anfügeabfrage fügt am Ende einer vorhandenen Tabelle Datensätze hinzu. Sie wählen die Datensätze und Felder aus, die Sie hinzufügen möchten. Wenn Sie die Abfrage ausführen, sucht Access die verlangten Datensätze und fügt die Daten an die ausgewählten Felder an. Die angefügten Daten werden nicht aus der Quelltabelle gelöscht.

Wichtig: Sehen Sie sich die Abfrage in der Datenblattansicht an, bevor Sie sie ausführen. Diese Ansicht zeigt Ihnen, welche Datensätze angefügt werden, wenn Sie die Abfrage ausführen.


Beispiel: Anfügeabfrage

  • Benutzte Tabellen: Neue Verkäufer


Verkäuferstamm

Fügen Sie die Datensätze der Tabelle "Neue Verkäufer" an die Tabelle "Verkäuferstamm" an.



Löschabfrage

Eine Löschabfrage löscht eine Gruppe von Datensätzen aus einer oder mehreren Tabellen. Sie wählen die zu löschenden Datensätze aus. Wenn Sie die Abfrage ausführen, löscht Access die entsprechenden Datensätze aus der bzw. den Tabellen. Bei einer Löschabfrage werden immer komplette Datensätze gelöscht, nicht einzelne Feldinhalte.


Beispiel: Löschabfrage

  • Benutzte Tabellen: Verkäuferstamm


Löschen Sie alle Verkäufer deren Verkäufernr. größer als 3 ist.

Wichtig: Sehen Sie sich die Abfrage in der Datenblattansicht an, bevor Sie sie ausführen. Diese Ansicht zeigt Ihnen, welche Datensätze gelöscht werden Ein Rückgängigmachen ist nicht möglich.


Funktionen Berechnungen

Sehen Sie sich hierzu bitte die Beispielabfrage "Berechnungen" an.

Daten gruppieren

Access führt Berechnungen standardmäßig für alle Datensätze durch. Häufig interessieren jedoch Ergebnisse für eine oder mehrere Gruppen von Daten. Das Gruppieren von Daten macht natürlich nur Sinn, wenn eine Spalte der Tabelle für mehrere Datensätze den gleichen Wert aufweist. Nur so lassen sich Datensätze zu einer Gruppe zusammenfassen.

Beispiel:

Sie wollen sich für jeden Artikel die Gesamtbestellmenge aus der Tabelle "Bestellungen" anzeigen lassen. Ziehen Sie hierzu die Felder Artikelnr. und Bestellmenge in den unteren Teil der Entwurfsansicht. Anschließend wählen Sie im Menü "Ansicht" den Befehl "Funktionen" aus. Danach können Sie in der Zeile "Funktion" für das Feld "Artikelnr" den Befehl "Gruppierung" und für das Feld "Bestellmenge" den Befehl "Summe" auswählen.

Weitere Funktionen sind z.B. "Mittelwert" oder "Erster Wert"

Sie können, wenn Sie Berechnungen durchführen wollen, auch auf die Werte anderer Spalten zurückgreifen. Geben Sie dazu den Ausdruck(bzw. die Formel) in das Feld ein, in dem normalerweise der Feldname steht z.B.:

Summe: [Bestellmenge]*[Preis]


Tabellen verknüpfen Das Verknüpfen zweier Tabellen wird durch die Trennung von Stamm- und Bewegungsdaten notwendig und gehört daher zu einer der häufigsten Abfrageaktionen.

Nehmen wir an, Sie möchten eine Liste aller Bestellungen ausgeben. Wenn Sie dabei nur auf die Tabelle "Bestellungen" zurückgreifen, ist die Ausgabe nur begrenzt aussagefähig, da Ihnen wichtige Felder wie "Artikelbeschreibung" und "Kundenname" fehlen. Stellen Sie daher, ausgehend von der Tabelle "Bestellungen", eine Verknüpfung zu den Tabellen "Artikelstamm" und "Kundenstamm" her.

  • Erstellen Sie eine neue Abfrage in der Entwurfsansicht.
  • Fügen Sie als anschließend die Tabellen "Bestellungen", "Artikelstamm" und "Kundenstamm" hinzu.
  • Verknüpfen Sie die Tabelle "Bestellungen" über die "Kundennr" mit der Tabelle "Kundenstamm". Nehmen Sie anschließend eine Verknüpfung der Tabelle "Bestellungen" mit der Tabelle "Artikelstamm" vor. (sofern die Verknüpfung nicht automatisch von Access vorgenommen wird).
  • Fügen Sie der Abfrage die relevanten Datenfelder hinzu und wechseln Sie in die Datenblattansicht.

Verknüpfungseigenschaften

Die Verknüpfungseigenschaften zwischen zwei Tabellen können Sie sich ansehen, indem Sie mit der rechten Maustaste auf die Verbindungslinie zwischen den Tabellen klicken. Anschließend stehen Ihnen drei Eigenschaften zur Auswahl, die in dem angezeigten Fenster gut beschrieben werden.

Datensätze in verknüpften Tabellen löschen

Bei einer Verknüpfung handelt es sich meistens um eine 1:n Verknüpfung, d.h. der Datensatz der einen Tabelle, kann mehrere Detaildatensätze in der anderen Tabelle enthalten. Beim Löschen von Datensätzen werden nur die Datensätze aus der Tabelle gelöscht, die die Detaildatensätze enthält.

Übung 5: Komplexere Abfragen Beispiel 1

Aufgabenstellung

Nehmen wir an, Sie möchten herausfinden welche Artikel bei Ihnen absolute "Ladenhüter" sind, d.h. Sie wollen gern wissen, zu welchen Artikeln der Tabelle "Artikelstamm" keine Bestellungen vorliegen.

Lösung

Das Problem bei dieser Abfrage besteht darin, daß es bei den Verknüpfungseigenschaften nicht die Option "nicht in der anderen Tabelle vorhanden" gibt.

  • Erstellen Sie eine neue Abfrage in der Entwurfsansicht und fügen Sie der Abfrage die Tabellen "Artikelstamm" und "Bestellungen" hinzu.
  • Falls noch nicht geschehen, verknüpfen Sie die Tabellen über das Feld "Artikelnr". Ziehen Sie anschließend aus jeder Tabelle das Feld "Artikelnr" in den unteren Teil der Entwurfsansicht, so daß sich die Artikelnummern gegenüber stehen.
  • Öffnen Sie anschließend die Verknüpfungseigenschaften und wählen Sie die zweite Option aus (Inklusionsverknüpfung). Wenn Sie die Abfrage jetzt ausführen, werden alle Datensätze aus Artikelstamm angezeigt und nur die Datensätze aus Bestellungen, bei denen die Inhalte beider Felder gleich sind.
  • In der Datenblattansicht können Sie jetzt erkennen, für welche Artikelnummern aus der Tabelle "Artikelstamm" keinen Bestellungen vorliegen. Es werden jedoch noch alle Artikelnummern aufgeführt. Wenn Sie nur die Artikel-nummern anzeigen wollen, für die keine Bestellungen vorliegen, müssen Sie die Abfrage um ein Kriterium erweitern.
  • Gehen Sie mit dem Cursor in die Kriterienzeile der Spalte "Artikelnummer" (Tabelle "Bestellungen") und geben Sie folgenden Ausdruck ein: Ist Null
  • Fertig! Jetzt zeigt die Abfrage nur noch die gewünschten Datensätze an.

Beispiel 2

Aufgabenstellung

Nehmen wir an, Sie möchten sich aus der Tabelle "Bestellungen" eine Liste der Artikel ausgeben lassen, die am meisten verkauft wurden. Innerhalb dieser Liste soll außerdem aufgeschlüsselt werden, welcher Kunde welche Stückzahl des einzelnen Artikels gekauft hat. Richten Sie dabei ein besonderes Augenmerk auf die Sortierung (siehe unten).

Die Ergebnistabelle soll die untenstehenden Felder und Sortierreihenfolge erhalten:

Artikelnr. Artikelbeschreibung 1teil.Summe von Bestellmenge Kundennr 2teil.Summe von Bestellmenge
101 Filzschreiber 420 800 350
101 Filzschreiber 420 500 70
106 Textmarker grün 200 700 200
103 Bleistift 180 500 150
103 Bleistift 180 700 30
105 Füllfederhalter 30 500 30
108 Faserschreiber 30 700 30
109 Büroklammern 10 500 10
107 Lineal 0 500 0
    Absteigend sortiert   Absteigend sortiert