Suchen der Spitzen- oder Tiefstwertdatensätze in einer Gruppe oder einem Feld

In diesem Artikel wird erläutert, wie Sie eine Spitzenwertabfrage verwenden, um die größten oder kleinsten Werte in einer Menge von Datensätzen zu finden. Sie verwenden Spitzenwertabfragen, um verschiedene Geschäftsfragen zu beantworten, z. B. welche Produkte sich gut verkaufen und welche nicht.

Inhalt dieses Artikels

Grundlegendes zu Spitzenwertabfragen

Ermitteln der Datensätze, die die obersten oder untersten Werte enthalten

Ermitteln der obersten oder untersten Werte für Datensätze in Kategorien oder Gruppen

Ermitteln der Datensätze, die die obersten und untersten Werte enthalten

Grundlegendes zu Spitzenwertabfragen

Sie verwenden eine Spitzenwertabfrage, wenn Sie Datensätze finden müssen, die die höchsten oder niedrigsten Werte in einem Tabellenfeld enthalten. Sie können eine Spitzenwertabfrage verwenden, um folgende Arten von Fragen zu beantworten.

  • Welches ist das teuerste oder billigste Produkt?

  • Welche drei Mitarbeiter haben als nächste Geburtstag?

  • Welche Abteilungen haben im laufenden Jahr den höchsten oder niedrigsten Umsatz generiert?

  • Mit welchen Produkten werden die obersten oder untersten fünf Prozent des Umsatzes erzielt?

  • Mit welchen Produkten in jeder der Produktkategorien werden die obersten oder untersten fünf Prozent des Umsatzes erzielt?

Kurz gesagt, in einer Spitzenwertabfrage werden Ihre Daten sortiert und anschließend gefiltert, um die höchsten oder niedrigsten Werte zurückzugeben, die es in einem Feld gibt. Mit einer Spitzenwertabfrage können Sie nach numerischen (einschließlich Währung) und nach Datumswerten suchen.

Eine Spitzenwertabfrage wird durch Ausführen der folgenden grundsätzlichen Schritte erstellt:

  • Erstellen einer Auswahlabfrage oder einer Gesamtsummenabfrage.

    Sie verwenden eine Auswahlabfrage, wenn Sie in einer Tabelle oberste oder unterste Werte finden möchten. Sie verwenden eine Gesamtsummenabfrage, wenn Sie die obersten oder untersten Werte in einer oder in mehreren Kategorien finden möchten. Wenn Sie beispielsweise eine Frage wie "Welches ist das teuerste oder billigste Produkt?" beantworten möchten, erstellen Sie eine Spitzenwertabfrage. Um eine Frage wie "Welche Produkte in jeder unserer Produktkategorien bringen die obersten oder untersten fünf Prozent des Umsatzes?" zu beantworten, verwenden Sie eine Gesamtsummenabfrage. Außerdem können Sie beide Abfragetypen verwenden, um die obersten und untersten Werte in einer Gruppe von Datensätzen oder in Datensätzen zu finden, die zu Kategorien gehören.

  • Anwenden einer Sortierreihenfolge auf die Abfrage.

  • Anwenden weiterer Kriterien auf die Abfrage.

  • Angeben der Anzahl von Datensätzen, die von der Abfrage zurückgegeben werden sollen. Sie können einen Prozentsatz angeben, etwa die obersten 5 Prozent der Werte in einem Feld, oder Sie können eine feste Zahl angeben, etwa die 10 obersten Werte in einem Feld.

Wählen zwischen einer Spitzenwertabfrage und einem Filter

Um zu bestimmen, ob Sie eine Spitzenwertabfrage erstellen oder einen Filter anwenden sollten, berücksichtigen Sie folgende Punkte:

  • Erstellen Sie eine Spitzenwertabfrage, wenn Sie die Datensätze mit den höchsten oder niedrigsten Werten in einem Feld ermitteln möchten und wenn Sie die genauen obersten oder untersten Feldwerte nicht kennen (oder diese nicht von Bedeutung sind).

  • Wenden Sie einen Filter an, wenn Sie alle Datensätze zurückgeben möchten, in denen der Wert in einem Feld gleich dem oder größer oder kleiner als der Wert ist, an dem Sie interessiert sind. Wenn Sie beispielsweise die Produkte anzeigen möchten, deren Preis zwischen 50 € und 100 € liegt, wenden Sie einen Filter an. Diese Abbildung veranschaulicht einen Beispielfilter in der Abfrageentwurfsansicht und die Ergebnisse, die mit einem solchen Filter erzielt werden können:

    Produkte, die zwischen 50 € und 100 € kosten

    Weitere Informationen zum Erstellen und Verwenden von Filtern finden Sie in dem Artikel Filter: Einschränken der Anzahl von Datensätzen in einer Ansicht.

Regeln zum Erstellen und Verwenden von Spitzenwertabfragen

Für den weiteren Verlauf sollten Sie berücksichtigen, dass Sie unabhängig vom Abfragetyp (Auswahlabfrage oder Gesamtsummenabfrage) sowohl Felder verwenden müssen, die beschreibende Daten (z. B. Mitarbeiter- oder Produktnamen) enthalten, als auch ein Feld, das die obersten oder untersten Werte enthält, die Sie finden möchten (z. B. ein Preis- oder Datumsfeld). Sie können mehrere Datenfelder verwenden, und wenn Sie eine Gesamtsummenabfrage verwenden, sollten Ihre Datenfelder Kategorieinformationen enthalten, beispielsweise ein Feld für Ort oder Land/Region. Sie können auf Kategoriedaten nur dann verzichten, wenn Sie eine Gesamtsummenabfrage erstellen, die für alle Datensätze ausgeführt wird, beispielsweise "Zeige mir die obersten fünf Prozent der teuersten Bestellungen". Außerdem können Sie entweder eine Auswahl- oder eine Gesamtsummenabfrage verwenden, um die obersten und untersten Werte in einer Gruppe von Datensätzen oder in Datensätzen zu finden, die zu Kategorien gehören. Weitere Informationen hierzu finden Sie im Abschnitt Ermitteln der obersten oder untersten Werte für Datensätze in Kategorien oder Gruppen weiter unten in diesem Artikel.

Ermitteln der Datensätze, die die obersten oder untersten Werte enthalten

Die Schritte in diesem Abschnitt erklären, wie Sie eine einfache Spitzenwertabfrage und eine erweiterte Abfrage erstellen. Die ersten Schritte veranschaulichen die grundlegenden Bestandteile einer Spitzenwertabfrage, während im zweiten Abschnitt erläutert wird, wie nach einigen der nächsten Mitarbeitergeburtstage gesucht wird. In diesen Schritten wird die folgende Beispieltabelle verwendet:

Nachname

Vorname

Adresse

Ort

Land/Region

Geburtsdatum

Einstellungsdatum

Bott

Jörg

Hauptstraße 1

Berlin

Deutschland

05-Feb-1968

10-Jun-1994

Potra

Cristina

Montagsweg 123

Kiel

Deutschland

22-Mai-1957

22-Nov-1996

Probst

David

Dienstagsstraße 234

Frankfurt am Main

Deutschland

11-Nov-1960

11-Mrz-2000

Casselman

Kevin

Beispielallee 234

München

Deutschland

22-Mrz-1964

22-Jun-1998

Reitzel

Per

Donnerstagsgasse 345

Hamburg

Deutschland

05-Jun-1972

05-Jan-2002

Ralls

Kim

Beispielgasse 123

Frankfurt am Main

Deutschland

23-Jan-1970

23-Apr-1999

Rienstra

Martina

Mittwochsallee 345

Essen

Deutschland

14-Apr-1964

14-Okt-2004

Rivas

Gretchen

Donnerstagsplatz 123

Dortmund

Deutschland

29-Okt-1959

29-Mrz-1997

Casselman

Kevin

Beispielallee 234

München

Deutschland

22-Mrz-1964

20-Jun-1998

Sie können die Daten, die in dieser Beispieltabelle enthalten sind, manuell eingeben, oder Sie können diese Tabelle in ein Tabellenkalkulationsprogramm wie Microsoft Office Excel 2007 kopieren und dann das daraus resultierende Arbeitsblatt in eine Tabelle in Microsoft Office Access 2007 importieren.

So gehen Sie vor

Manuelles Eingeben der Beispieldaten

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Tabellen auf Tabelle.

Office Access 2007 fügt Ihrer Datenbank eine neue, leere Tabelle hinzu.

Hinweis : Sie müssen diesen Schritt nicht ausführen, wenn Sie eine neue, leere Datenbank öffnen, aber er muss ausgeführt werden, wenn Sie eine Tabelle zur Datenbank hinzufügen.

  1. Doppelklicken Sie auf die erste Zelle in der Kopfzeile, und geben Sie den Namen ein, den das Feld in der Beispieltabelle hat.
    Access weist leeren Feldern in der Kopfzeile standardmäßig den Text Neues Feld hinzufügen zu:
    Eine neues Feld in einem Datenblatt

  2. Wechseln Sie mit den Pfeiltasten zur nächsten leeren Kopfzeilenzelle, und geben Sie dann den Namen für das zweite Feld ein (Sie können auch TAB drücken oder auf die neue Zelle doppelklicken). Wiederholen Sie diesen Schritt, bis alle Feldnamen eingegeben sind.

  3. Geben Sie die Daten in die Beispieltabelle ein.
    Während Sie die Daten eingeben, leitet Access den Datentyp für jedes Feld ab. Wenn Sie mit relationalen Datenbanken noch nicht vertraut sind, legen Sie für jedes der Felder in Ihren Tabellen einen bestimmten Datentyp fest, etwa "Zahl", "Text" oder "Datum/Uhrzeit". Durch Festlegen von Datentypen können Sie eine korrekte Dateneingabe sicherstellen sowie Fehler vermeiden, etwa dass eine Telefonnummer in einer Berechnung verwendet wird. Für diese Beispieltabellen sollte Sie es Access überlassen, den Datentyp abzuleiten.

  4. Klicken Sie auf Speichern, wenn Sie mit dem Eingeben der Daten fertig sind.
    Tastenkombination  Drücken Sie STRG+S.
    Das Dialogfeld Speichern unter wird angezeigt.

  5. Geben Sie in das Feld Tabellenname den Namen der Beispieltabelle ein, und klicken Sie dann auf OK.
    Sie verwenden den Namen jeder Beispieltabelle, weil diese Namen auch in den Abfragen in den Abschnitten zur Vorgehensweise verwendet werden.

  6. Wiederholen Sie diese Schritte, bis Sie jede der Beispieltabellen erstellt haben, die am Anfang dieses Abschnitts aufgelistet sind.

Kopieren der Tabelle in ein Tabellenkalkulationsprogramm

  1. Starten Sie Ihr Tabellenkalkulationsprogramm, und erstellen Sie eine neue, leere Datei. Wenn Sie Excel verwenden, wird eine standardmäßig neue, leere Arbeitsmappe erstellt.

  2. Kopieren Sie die Beispieltabelle, die im vorherigen Abschnitt bereitgestellt ist, und fügen Sie sie, bei der ersten Zelle angefangen, in das erste Arbeitsblatt ein.

  3. Geben Sie dem Arbeitsblatt mit der in Ihrem Tabellenkalkulationsprogramm üblichen Vorgehensweise den Namen Personal.

  4. Speichern Sie die Tabellenkalkulationsdatei an einem geeigneten Speicherort, und führen Sie die nächsten Schritte aus.

Importieren der Tabelle in Access

  1. In einer neuen oder vorhandenen Datenbank:
    Klicken Sie auf der Registerkarte Externe Daten in der Gruppe Import auf Excel.
    -Oder-
    Klicken Sie auf Weitere, und wählen Sie ein Tabellenkalkulationsprogramm in der Liste aus.
    Das Dialogfeld Externe Daten - Programmname-Tabelle wird angezeigt.

  2. Klicken Sie auf Durchsuchen, öffnen Sie die im vorherigen Schritt erstellte Tabellenkalkulationsdatei, und klicken Sie dann auf OK.
    Der Import-Assistent für Kalkulationstabellen wird gestartet.

  3. Der Assistent wählt standardmäßig das erste Arbeitsblatt in der Arbeitsmappe aus ("Personal", wenn Sie die Schritte im vorherigen Abschnitt befolgt haben). Die Daten aus dem Arbeitsblatt werden im unteren Abschnitt der Seite des Assistenten angezeigt. Klicken Sie auf Weiter.

  4. Klicken Sie auf die nächste Seite des Assistenten auf Erste Zeile enthält Spaltenüberschriften, und klicken Sie dann auf Weiter.

  5. Optional können Sie auf der nächsten Seite des Assistenten die Textfelder und Listen unter Feldoptionen verwenden, um Feldnamen und Datentypen zu ändern oder um Felder aus dem Importvorgang auszuschließen. Klicken Sie andernfalls auf Weiter.

  6. Belassen Sie die Option Primärschlüssel automatisch hinzufügen aktiviert, und klicken Sie auf Weiter.

  7. Standardmäßig wendet Access den Name des Arbeitsblatts auf Ihre neue Tabelle an. Übernehmen Sie den Namen, oder geben Sie einen anderen Namen ein, und klicken Sie dann auf Fertig stellen.

Hinweis : Wenn Sie kein Tabellenkalkulationsprogramm haben, können Sie die Beispieldaten in einen Texteditor, beispielsweise Editor, kopieren. Weitere Informationen zum Importieren von Textdaten finden Sie im Artikel Importieren oder Verknüpfen von Daten in einer Textdatei.

Erstellen einer einfachen Spitzenwertabfrage

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf.

  2. Klicken Sie im Dialogfeld Tabelle anzeigen auf die Tabelle, die Sie in der Abfrage verwenden möchten, klicken Sie auf Hinzufügen, um die Tabelle im Entwurfsbereich zu platzieren, und klicken Sie dann auf Schließen.
    -Oder-
    Doppelklicken Sie auf die Tabelle.
    Wenn Sie die Beispieldaten verwenden, fügen Sie der Abfrage die Tabelle "Personal" hinzu.

  3. Fügen Sie die Felder, die Sie in Ihrer Abfrage verwenden möchten, dem Entwurfsbereich hinzu. Sie können auf jedes Feld doppelklicken, oder Sie ziehen jedes Feld in eine leere Zelle in der Zeile Feld und legen es dort ab.
    Wenn Sie die Beispieltabelle verwenden, fügen Sie die Felder "Vorname", "Nachname" und "Geburtsdatum" hinzu.

  4. Klicken Sie im Feld, das die obersten oder untersten Werte enthält (das Feld "Geburtsdatum", wenn Sie die Beispieltabelle verwenden), auf die Zeile Sortierung, und wählen Sie entweder Aufsteigend oder Absteigend aus.
    Wenn Ihr Wertefeld Zahlen enthält, etwa Preise oder Umsatzzahlen, gibt die Sortierreihenfolge Aufsteigend die niedrigsten und die Sortierreihenfolge Absteigend die höchsten Werte zurück. Enthält Ihr Wertefeld Datumswerte, gibt die Sortierreihenfolge Absteigend das neueste Datum zurück, während Aufsteigend das frühste Datum zurückgibt.

    Wichtig : Sie müssen die Zeile Sortieren nur für die Felder auf Aufsteigend oder Absteigend festlegen, die Ihre obersten oder untersten Werte enthalten. Wenn Sie eine Sortierreihenfolge für ein Feld festlegen, das nicht die obersten oder untersten Werte enthält, z. B. "Artikelname" statt "Preis", gibt die Abfrage nicht die von Ihnen gewünschten Ergebnisse zurück.

  5. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf den Abwärtspfeil neben Alle (die Spitzenwerte-Liste), und geben Sie die Anzahl oder den Prozentsatz von Datensätzen ein, die Sie anzeigen möchten, oder wählen Sie eine Option in der Liste aus.

  6. Klicken Sie auf Ausführen Schaltflächensymbol , um die Abfrage auszuführen und die Ergebnisse in der Datenblattansicht anzuzeigen.

  7. Speichern Sie die Abfrage, und belassen Sie sie zum Verwenden in den nächsten Schritten geöffnet.

Sie können sehen, dass Sie mit diesem Typ von Spitzenwertabfrage grundlegende Fragen beantworten können (beispielsweise nach der ältesten oder jüngsten Person im Unternehmen). Im nächsten Schritt wird erläutert, wie Sie Ausdrücke und andere Kriterien verwenden, um die Leistung und Flexibilität der Abfrage zu steigern. Die im nächsten Schritt dargestellten Kriterien geben die nächsten drei Mitarbeitergeburtstage zurück.

Hinzufügen von Kriterien zur Abfrage

Hinweis : Für diese Schritte wird vorausgesetzt, dass Sie die im vorherigen Abschnitt beschriebene Abfrage verwenden.

  1. Öffnen Sie die Abfrage, die Sie in den vorherigen Schritten erstellt haben, in der Entwurfsansicht.

  2. Geben Sie im Abfrageentwurfsbereich in der Spalte rechts von der Spalte "Geburtsdatum" folgenden Ausdruck ein (oder kopieren Sie ihn, und fügen Sie ihn ein): Ausdr1: DatTeil("m";[Geburtsdatum]). Über die DatTeil-Funktion wird der Monatsanteil des Werts im Feld "Geburtsdatum" extrahiert.

  3. Geben Sie rechts von der Spalte, die den Ausdruck enthält, folgenden Ausdruck ein (oder kopieren Sie ihn, und fügen Sie ihn ein): Ausdr2: DatTeil("t";[Geburtsdatum]). In diesem Fall wird über die DatTeil-Funktion wird der Tagesanteil des Werts im Feld "Geburtsdatum" extrahiert.

  4. Deaktivieren Sie die Kontrollkästchen in der Zeile Anzeigen für jeden Ausdruck, klicken Sie dann für jeden Ausdruck auf die Zelle Sortierung, und wählen Sie Aufsteigend aus.

  5. Optional können Sie ein Kriterium zum Einschränken des Abfragebereichs angeben. Wenn Sie Kriterien angeben, sortiert die Abfrage nur die Datensätze, die diese Kriterien erfüllen, und identifiziert die obersten oder untersten Werte innerhalb der sortierten Liste.
    Um den Vorgang mit den Beispieldaten fortzusetzen, geben Sie folgenden Ausdruck direkt oder durch Kopieren und Einfügen in die Zeile Kriterien des Felds "Geburtsdatum" ein:

    Monat([Geburtsdatum]) > Monat(Datum()) Oder Monat([Geburtsdatum]) = Monat(Datum()) Und Tag([Geburtsdatum])>Tag(Datum())

    Dieser Ausdruck führt Folgendes aus: Der Anteil Monat([Geburtsdatum]) > Monat(Datum()) überprüft das Geburtsdatum jedes Mitarbeiters, um zu ermitteln, ob das Geburtsdatum in einen zukünftigen Monat fällt. Ist dies der Fall, fügt der Ausdruck diese Datensätze in die Abfrage ein. Der Anteil Monat([Geburtsdatum])= Monat(Datum()) Und Tag([Geburtsdatum])>Tag(Datum()) des Ausdrucks überprüft die Geburtsdaten, die in den laufenden Monat fallen, um zu ermitteln, ob der Geburtstag auf oder hinter dem aktuellen Datum liegt. Ist diese Bedingung erfüllt, fügt die Funktion diese Datensätze in die Abfrageergebnisse ein. In der Zusammenfassung: Dieser Ausdruck ignoriert jeden Datensatz, bei dem das Geburtsdatum zwischen dem 1. Januar und dem Datum liegt, an dem Sie Ihre Abfrage ausführen.

    Weitere Beispiele zu Abfragekriterienausdrücken finden Sie im Artikel Beispiele für Abfragekriterien.

  6. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf den Abwärtspfeil neben Alle (die Spitzenwerte-Liste), und geben Sie die Anzahl oder den Prozentsatz von Datensätzen ein, die Sie anzeigen möchten, oder wählen Sie eine Option in der Liste aus.

  7. Klicken Sie auf Ausführen Schaltflächensymbol , um die Abfrage auszuführen und die Ergebnisse in der Datenblattansicht anzuzeigen.

Wenn Ihre Abfrage mehr Datensätze zurückgibt, als Sie erwarten

Wenn Ihre Daten Datensätze mit demselben Datumswert enthalten, gibt die Spitzenwertabfrage möglicherweise mehr Daten zurück, als Sie erwarten. Beispielsweise können Sie eine Spitzenwertabfrage so gestalten, dass drei Personaldatensätze abgerufen werden sollen, aber tatsächlich werden vier angezeigt, da "Mevius" und "Voss" den gleichen Geburtstag haben. Diese Art von Abfrage gibt alle Spitzenwerte zurück, und zwar unabhängig davon, in wie vielen Datensätze diese Werte enthalten sind. Um doppelte Werte auszuschließen, können Sie die Eigenschaft Eindeutiger Wert auf Ja festlegen. Weitere Informationen zum Verwenden dieser Eigenschaft finden Sie im Abschnitt Wenn doppelte Datensätze angezeigt werden weiter unten in diesem Artikel.

Nachname

Geburtsdatum

Johnson

26.09.1968

Martin

10.02.1970

Voss

15.10.1965

Mevius

15.10.1969

Wenn Ihre Abfrage weniger Datensätze zurückgibt, als Sie erwarten

Nehmen Sie an, dass Sie eine Abfrage entwerfen, die die obersten oder untersten fünf Datensätze in einem Feld zurückgibt, es werden aber nur drei Datensätze angezeigt. Im Regelfall lösen Sie diese Art von Problem, indem Sie die Abfrage in der Entwurfsansicht öffnen und die Zeile Kriterien in dem Entwurfsbereich auf Kriterien überprüfen, die restriktiver sind als von Ihnen beabsichtigt. Weitere Informationen zu Kriterien finden Sie im Artikel Beispiele für Abfragekriterien.

Wenn doppelte Datensätze angezeigt werden

Wenn eine Spitzenwertabfrage Duplikate zurückgibt, enthalten die zugrunde liegenden Tabellen doppelte Datensätze oder die Datensätze scheinen Duplikate zu sein, weil die Abfrage nicht die Felder enthält, mit denen zwischen den Datensätzen unterschieden werden kann. Als Beispiel folgt das Ergebnis einer Abfrage, die fünf Bestellungen, die erst kürzlich versandt wurden, zusammen mit dem Namen des Verkäufers anzeigt, der die Transaktion abgewickelt hat.

Versanddatum

Verkäufer

12.11.2004

Fontana

12.11.2004

Moreno

12.10.2004

Osada

12.10.2004

Osada

12.10.2004

Fontana

Der dritte und der vierte Datensatz scheinen Duplikate zu sein, aber möglicherweise nur, weil der Verkäufer Osada zwei verschiedene Bestellungen bearbeitet hat, die am selben Tag versandt wurden.

Je nach Ihren Anforderungen können Sie eine der folgenden Maßnahmen ergreifen, um die Rückgabe doppelter Datensätze zu verhindern. Sie können den Entwurf der Abfrage ändern, um Felder hinzuzufügen, die ein Unterscheiden der Datensätze ermöglichen (beispielsweise die Felder "Bestell-Nr." und "Kunden-Nr."). Alternativ können Sie, wenn es genügt, dass lediglich einer der doppelten Datensätze angezeigt wird, nur eindeutige Datensätze anzeigen, indem Sie die Eindeutige Werte-Eigenschaft der Abfrage auf Ja festlegen. Um diese Eigenschaft festzulegen, drücken Sie in der Abfrageentwurfsansicht F4, suchen Sie die Abfrageeigenschaft Eindeutige Werte, und legen Sie sie auf Ja fest.

Weitere Informationen zum Umgang mit doppelten Datensätzen finden Sie im Artikel Suchen, Ausblenden oder Beseitigen von Duplikaten.

Seitenanfang

Ermitteln der obersten oder untersten Werte für Datensätze in Kategorien oder Gruppen

Mit einer Gesamtsummenabfrage können Sie die obersten und untersten Werte für Datensätze ermitteln, die zu Gruppen gehören. Bedenken Sie für die weiteren Schritte, dass eine Gesamtsummenabfrage standardmäßig nur das Feld oder die Felder, die Ihre Gruppendaten enthalten, etwa das Feld "Kategorien", sowie das Feld umfassen kann, das die obersten oder untersten Werte enthält, etwa das Feld "Preis". Gesamtsummenabfragen dürfen keine anderen Felder enthalten, die die Elemente in einer Kategorie beschreiben. Sie können aber eine zweite Abfrage erstellen, die sowohl Felder aus Ihrer Gesamtsummenabfrage als auch Felder aus anderen Tabellen umfasst, die beschreibende Daten enthalten.

Angenommen, Sie haben eine Tabelle mit Produkten und weisen jedes Produkt einer Kategorie zu, z. B. Brettspiele, Puzzles usw. Wenn Sie eine Gesamtsummenabfrage erstellen, um das teuerste Produkt in jeder Kategorie zu ermitteln, darf die Abfrage nur das Feld oder die Felder, die die Kategoriedaten enthalten, sowie das Feld umfassen, das die Preisdaten enthält. Nehmen Sie für dieses Beispiel ein Feld namens "Kategoriename" und ein Feld namens "Preis" an. Wenn Sie diese Art von Abfrage ausführen, setzt Access (je nach der Funktion, die Sie auswählen) "MaxVon" oder "MinVon" vor den Feldnamen "Preis":

Kategoriename

MaxVonPreis

Brettspiele

55,00 €

Puzzles

43,90 €

Computerspiele

263,50 €

Puppen

81,00 €

...

...

Ihre Gesamtsummenabfrage darf, wie im Folgenden dargestellt, keine weiteren Felder, die das Produkt beschreiben (und somit die Daten verständlicher machen), etwa Artikelnamen oder Namen von Lieferanten, enthalten:

Kategoriename

MaxVonPreis

Artikelname

Lieferantenname

Brettspiele

55,00 €

Spaß mit C++

ProseWare, Inc.

Puzzles

43,90 €

Relationales Datenbankdiagramm

Lucerne Publishing

Computerspiele

263,50 €

Computerfreaks und andere rätselhafte Kreaturen

Litware, Inc.

Puppen

81,00 €

Programmiereraktionsfigur

Contoso, Ltd.

...

...

...

...

Wenn Sie diese beschreibenden Daten anzeigen möchten, können Sie eine zweite Auswahlabfrage erstellen, in der die Felder in Ihrer Gesamtsummenabfrage mit den weiteren Datenfeldern kombiniert werden.

Die Schritte in diesem Abschnitt beschreiben, wie die Gesamtsummenabfrage und die Auswahlabfrage erstellt werden, die zur Ermittlung der teuersten Produkte in jeder Kategorienmenge erforderlich sind. Für die Schritte wird angenommen, dass Sie die folgenden Beispieltabellen verwenden:

Die Tabelle "Kategorien"

KategorieNr

Kategoriename

Beschreibung

1

Brettspiele

Alle Alters- und Fähigkeitsstufen

2

Puzzles

Puzzles allgemein, Wortpuzzles, Puzzlespielzeug

3

Computerspiele

Alle Konsolen und Fähigkeitsstufen

4

Puppen

Actionfiguren, Modepuppen

5

Sportausrüstung

Bälle, Kleidung, Netze

6

Modelle/Hobby

Flugzeuge, Autos, Züge

Der Tabelle "Lieferanten"

LieferantenNr

Lieferantenname

1

Fabrikam

2

Tailspin Toys

3

Northwind Traders

4

Adventure Works

5

Lucerne Publishing

6

ProseWare, Inc.

7

Contoso, Ltd.

8

Wide World Importers

9

Wingtip Toys

10

Wide World Importers

11

Litware, Inc.

12

Southridge Video

Die Tabelle "Artikel"

Artikelname

LieferantenNr

KategorieNr

Preis

Programmiereraktionsfigur

7

4

12,95 €

Spaß mit C++

6

1

15,85 €

Relationales Datenbankdiagramm

5

2

22,50 €

Der magische Computerchip

3

2

32,65 €

Access! Das Spiel!

1

1

22,95 €

Computerfreaks und andere rätselhafte Kreaturen

11

3

78,50 €

Übungen für Computerfreaks! Die DVD!

4

5

14,88 €

Ultimate Flying-Pizza

2

5

36,75 €

Externes 5,25-Zoll-Diskettenlaufwerk (1/4 Skalierung)

8

6

65,00 €

Manager in Ruhe-Figur

9

4

78,88 €

Gloom

12

3

53,33 €

Eigene Tastatur bauen

1

6

77,95 €

Hinweis : Für die Schritte wird eine 1:n-Beziehung sowohl zwischen den Tabellen "Kategorien" und "Artikel" als auch zwischen den Tabellen "Lieferanten" und "Artikel" vorausgesetzt. In diesem Fall haben die Tabellen die Felder "LieferantenNr" und "KategorieNr" gemeinsam. Ohne die Beziehungen funktioniert die in den nächsten Abschnitten beschriebene Gesamtsummenabfrage nicht.

Erstellen der Gesamtsummenabfrage

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf.

  2. Wählen Sie im Dialogfeld Tabelle anzeigen die Tabellen aus, mit denen Sie arbeiten möchten, klicken Sie auf Hinzufügen, und klicken Sie dann auf Schließen, nachdem Sie die Tabellen hinzugefügt haben.
    -Oder-
    Doppelklicken Sie auf die Tabellen, die Sie verwenden möchten, und klicken Sie dann auf Schließen. Jede Tabelle wird im Entwurfsbereich angezeigt. Wenn Sie die oben aufgeführten Beispieltabellen verwenden, fügen Sie die Tabellen "Kategorien" und "Artikel" hinzu.

  3. Doppelklicken Sie auf die Tabellenfelder, die Sie in Ihrer Abfrage verwenden möchten.
    Achten Sie an diesem Punkt darauf, dass Sie nur die Gruppenfelder und das Wertfeld zur Abfrage hinzufügen. Wenn Sie die in den obigen Tabellen aufgeführten Beispieldaten verwenden, fügen Sie das Feld "Kategoriename" aus der Tabelle "Kategorien" und das Feld "Preis" aus der Tabelle "Artikel" hinzu.

  4. Optional können Sie ein Kriterium angeben, um den Bereich der Abfrage einzuschränken.
    Es werden nur Datensätze sortiert, die die Kriterien erfüllen, und die obersten und untersten Feldwerte werden innerhalb dieser sortierten Liste ermittelt. Um beispielsweise Artikel in der Kategorie "Sportausrüstung" auszuschließen, fügen Sie diesen Ausdruck in der Zeile Kriterien des Felds "Kategoriename" hinzu: <>"Sportausrüstung".
    Weitere Beispiele für Abfragekriterienausdrücke finden Sie im Artikel Beispiele für Abfragekriterien.

  5. Konvertieren Sie Abfrage in eine Gesamtsummenabfrage.

    1. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Einblenden/Ausblenden auf Summen.

      Die Zeile Funktion wird im Entwurfsbereich angezeigt.

  6. Stellen Sie sicher, dass die Zelle Funktion für jedes Gruppenfeld auf Gruppierung festgelegt ist, und legen Sie dann die Zelle Funktion des Wertfelds (das Feld, das die obersten oder untersten Werte enthält) entweder auf Max oder Min fest.
    Wird Max ausgewählt, wird für ein numerisches Feld der größte Wert und für ein Datum/Uhrzeit-Feld der aktuellste Datums- oder Uhrzeitwert zurückgegeben. Wird Min ausgewählt, wird für ein numerisches Feld der kleinste Wert und für ein Datum/Uhrzeit-Feld der früheste Datums- oder Uhrzeitwert zurückgegeben. Wenn Sie die Beispieldaten verwenden, legen Sie die Zelle Funktion des Felds "Kategoriename" auf Gruppierung und die Zelle Funktion des Felds "Preis" auf Max oder Min fest.

  7. Legen Sie auf der Registerkarte Entwurf in der Gruppe Tools die Liste Spitzenwerte auf Alle fest, und klicken Sie dann auf Ausführen Schaltflächensymbol , um die Abfrage auszuführen und die Ergebnisse in der Datenblattansicht anzuzeigen.

    Hinweis : Je nach der in Schritt 7 ausgewählten Funktion wird in Access der Name des Wertfelds in der Abfrage in MaxVonFeldname oder MinVonFeldname geändert. Wenn Sie die Beispieltabellen verwenden, benennt Access das Feld in MaxVonPreis oder MinVonPreis um.

  8. Speichern Sie die Abfrage, und führen Sie die nächsten Schritte aus.

Die Abfrage gibt weder Artikelnamen noch andere Informationen zu den Artikeln zurück. Wenn Sie diese weiteren Daten anzeigen möchten, müssen Sie eine zweite Abfrage erstellen, die die Abfrage enthält, die Sie soeben erstellt haben. In den nächsten Schritten wird das Erstellen dieser zweiten Abfrage erläutert.

Erstellen einer zweiten Abfrage, um weitere Daten anzuzeigen

  1. Klicken Sie auf der Registerkarte Erstellen in der Gruppe Abfragen auf Abfrageentwurf.

  2. Klicken Sie im Dialogfeld Tabelle anzeigen auf die Registerkarte Abfragen. Doppelklicken Sie dann auf die im vorherigen Abschnitt erstellte Gesamtsummenabfrage.

  3. Klicken Sie auf die Registerkarte Tabellen, und fügen Sie die Tabellen, die Sie in Ihrer Gesamtsummenabfrage verwendet haben, sowie alle Tabellen hinzu, die die anderen zugehörigen Daten enthalten, die Sie anzeigen möchten.
    Wenn Sie die weiter oben aufgelisteten Beispieltabellen verwenden, fügen Sie Ihrer neuen Abfrage die Tabellen "Kategorien", "Artikel" und "Lieferanten" hinzu.

  4. Verknüpfen Sie die Felder in der Gesamtsummenabfrage mit ihren entsprechenden Feldern in den übergeordneten Tabellen. Ziehen Sie hierzu jedes Feld in der Gesamtsummenabfrage zu seinem entsprechenden Feld in der Tabelle.

    Wenn Sie die Beispieldaten verwenden, ziehen Sie das Feld "Kategoriename" in der Gesamtsummenabfrage zum Feld "Kategoriename" in der Tabelle "Kategorien". Anschließend ziehen Sie das Feld "MaxVonPreis" in der Gesamtsummenabfrage zum Feld "Preis" in der Tabelle "Artikel". Diese Verknüpfungen ermöglichen es Ihrer Auswahlabfrage, die Daten in der Gesamtsummenabfrage mit den Daten in den anderen Tabellen zusammenzuführen.

  5. Doppelklicken Sie in dem Fenster für die Gesamtsummenabfrage auf das Sternchen, um die gesamte Abfrage zuem Entwurfsbereich hinzuzufügen, und ziehen Sie dann die weiteren Felder aus den anderen Tabellen in die Abfrage.

    Wenn Sie die Beispieltabellen verwenden, doppelklicken Sie auf die Gesamtsummenabfrage, die Sie im vorherigen Abschnitt erstellt haben, und fügen Sie dann die Felder "Artikelname" und "Lieferant" aus der Tabelle "Artikel" bzw. "Lieferanten" hinzu.

  6. Geben Sie optional eine Sortierreihenfolge für eine oder mehrere Spalten an.
    Legen Sie beispielsweise, um die Kategorien in alphabetischer Reihenfolge aufzulisten, die Zelle Sortierung der Spalte "Kategoriename" auf Aufsteigend fest.

  7. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

    Hiermit wird die Abfrage ausgeführt, und die Ergebnisse werden in der Datenblattansicht angezeigt.

Tipp    Wenn Sie nicht möchten, dass die Überschrift der Spalte "Preis" als MaxVonPreis oder MinVoPreis angezeigt wird, öffnen Sie die Abfrage in der Entwurfsansicht, und geben Sie in die Spalte "Preis" im Entwurfsbereich Folgendes ein: Preis: MaxVonPreis oder Preis: MinVonPreis. Dies bewirkt, dass Preis als Überschrift der Spalte in der Datenblattansicht angezeigt wird.

Seitenanfang

Ermitteln der Datensätze, die die obersten und untersten Werte enthalten

Die Abfragen, die Sie bisher in diesem Artikel erstellt haben, können oberste oder unterste Werte zurückgeben, jedoch nicht beides. Wenn Sie beide Wertegruppen in einer einzigen Ansicht anzeigen möchten, müssen Sie zwei Abfragen erstellen – eine, die die obersten Werte, und eine weitere, die die untersten Werte abruft –, und dann die Ergebnisse in einer einzelnen Tabelle zusammenführen und speichern.

Das Ermitteln von obersten und untersten Werten und das Anzeigen dieser Daten in einer Tabelle umfasst die folgenden grundlegenden Schritte:

  • Erstellen Sie eine Spitzenwert- und eine Tiefstwertabfrage, oder erstellen Sie, wenn Sie Ihre Daten gruppieren möchten, Gesamtsummenabfragen, in denen die Funktionen Min und Max verwendet werden.

  • Konvertieren Sie Ihre Spitzenwertabfrage (oder Ihre "Max"-Gesamtsummenabfrage) in eine Tabellenerstellungsabfrage, und führen Sie diese Abfrage aus, um eine neue Tabelle zu erstellen.

  • Konvertieren Sie Ihre Tiefstwertabfrage (oder Ihre "Min"-Gesamtsummenabfrage) in eine Anfügeabfrage, und führen Sie diese Abfrage aus, um die Datensätze an Ihre Spitzenwerttabelle (Tabelle mit den obersten Werten) anzufügen.

    Die Schritte in diesen Abschnitten erläutern, wie die Abfrage zu erstellen ist.

    Hinweis : Sofern Ihre Datenbank nicht digital signiert ist oder sich an einem vertrauenswürdigen Ort befindet, werden Sie in Access daran gehindert, die hier beschriebenen Aktionsabfragen auszuführen. Führen Sie die erste Gruppe von Schritten aus, um blockierten Inhalt zu aktivieren, bevor Sie versuchen, die Tabelle zu erstellen und die hier beschriebenen Abfragen anzufügen.

    Aktivieren des Inhalts in einer Datenbank

    • Klicken Sie in der Meldungsleiste auf Optionen.

      Das Dialogfeld Microsoft Office-Sicherheitsoptionen wird angezeigt

    • Wählen Sie Diesen Inhalt aktivieren aus, und klicken Sie dann auf OK.

    • Führen Sie die Abfrage erneut aus.

      Wenn die Statusleiste nicht angezeigt wird

    • Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Einblenden/Ausblenden auf Statusleiste.

      Weitere Informationen zum Modus "Deaktiviert" und zur Sicherheit in Access finden Sie im Artikel Sicherung einer Access 2007-Datenbank.

      Erstellen der Abfragen

  • Erstellen Sie die Spitzen- und die Tiefstwertabfrage.

    Weitere Informationen zu den zum Erstellen einer Spitzenwert- oder Tiefstwertabfrage erforderlichen Schritten finden Sie unter Ermitteln der Datensätze, die die obersten oder untersten Werte enthalten weiter oben in diesem Abschnitt. Wenn Sie Ihre Datensätze nach Kategorien gruppieren möchten, lesen Sie den Abschnitt Ermitteln der obersten oder untersten Werte für Datensätze in Kategorien oder Gruppen weiter oben in diesem Abschnitt.

  • Speichern Sie jede Abfrage, und belassen Sie sie zum Verwenden in den nächsten Schritten geöffnet.

Erstellen der Tabellenerstellungsabfrage

  1. Mit Ihrer geöffneten Spitzenwertabfrage in der Entwurfsansicht:

    Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Tabelle erstellen.
    Das Dialogfeld Neue Tabelle erstellen wird angezeigt.

  2. Geben Sie in das Feld Tabellenname einen Namen für die Tabelle ein, in der die obersten und untersten Datensätze gespeichert werden. Geben Sie z. B. Oberste und unterste Datensätze ein, und klicken Sie dann auf OK.
    Jedes Mal, wenn Sie die Abfrage ausführen, erstellt sie eine Tabelle, und ersetzt sie die obersten Werte durch die aktuellen Daten, anstatt die Ergebnisse in der Datenblattansicht anzuzeigen.

  3. Speichern und schließen Sie die Abfrage.

Erstellen einer Anfügeabfrage

  1. Öffnen Sie Ihre Tiefstwertabfrage in der Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Abfragetyp auf Anfügen.

  3. Geben Sie im Dialogfeld Anfügen genau den Namen ein, den Sie im Dialogfeld Neue Tabelle erstellen eingegeben haben.
    Geben Sie z. B. Oberste und unterste Datensätze ein, und klicken Sie dann auf OK. Jedes Mal, wenn Sie die Abfrage ausführen, fügt sie die Datensätze an die Tabelle "Oberste und unterste Datensätze" an, statt die Ergebnisse in der Datenblattansicht anzuzeigen.

  4. Speichern und schließen Sie die Abfrage.

Ausführen der Abfragen

Nun können Sie die beiden Abfragen ausführen.

  • Doppelklicken Sie im Datenbankfenster auf die Spitzenwertabfrage, und klicken Sie in den Meldungen auf Ja.

  • Doppelklicken Sie auf die Tiefstwertabfrage, und klicken Sie in den Meldungen auf Ja.

  • Öffnen Sie die Tabelle mit den obersten und untersten Datensätzen in der Datenblattansicht

Seitenanfang

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×