Znajdowanie rekordów zawierających najwyższe lub najniższe wartości w grupie lub polu

W tym artykule wyjaśniono, w jaki sposób przy użyciu zapytania zwracającego najwyższą wartość znaleźć najniższe lub najwyższe wartości w zestawie rekordów. Przy użyciu zapytań zwracających najwyższą wartość można odpowiedzieć na różne pytania biznesowe, takie jak pytanie, które produkty sprzedają się dobrze, a które nie.

Co chcesz zrobić?

Opis zapytań zwracających najwyższą wartość

Znajdowanie rekordów zawierających najwyższe lub najniższe wartości

Znajdowanie najwyższych lub najniższych wartości dla rekordów w kategoriach lub grupach

Znajdowanie rekordów zawierających najwyższe i najniższe wartości

Opis zapytań zwracających najwyższą wartość

Zapytanie zwracające najwyższą wartość jest używane przy znajdowaniu rekordów zawierających najwyższe lub najniższe wartości w polu tabeli. Zapytanie zwracające najwyższą wartość umożliwia znalezienie odpowiedzi na następujące typy pytań.

  • Który produkt jest najdroższy lub najtańszy?

  • Którzy trzej pracownicy będą mieli w najbliższym czasie urodziny?

  • Które działy osiągnęły najwyższy lub najniższy poziom sprzedaży w bieżącym roku?

  • Które pięć produktów ma najwyższy lub najniższy poziom sprzedaży?

  • Które pięć produktów w poszczególnych kategoriach ma najwyższy lub najniższy poziom sprzedaży?

Podsumowując, zapytanie zwracające najwyższą wartość sortuje, a następnie filtruje dane w celu zwrócenia najwyższych lub najniższych wartości w polu. Zapytania zwracające najwyższą wartość umożliwiają wyszukiwanie wartości liczbowych (również walutowych) oraz dat.

Proces tworzenia zapytania zwracającego najwyższe wartości odbywa się zgodnie z następującą ogólną procedurą:

  • Utwórz zapytanie wybierające lub podsumowujące.

    Zapytanie wybierające służy do znajdowania najwyższych lub najniższych wartości w tabeli. Zapytanie podsumowujące służy do znajdowania najwyższych lub najniższych wartości w co najmniej jednej kategorii. Aby na przykład odpowiedzieć na pytanie „Który produkt jest najdroższy lub najtańszy?”, należy rozpocząć od utworzenia zapytania wybierającego. Aby odpowiedzieć na pytanie „Które pięć produktów w poszczególnych kategoriach ma najwyższy lub najniższy poziom sprzedaży?”, należy użyć zapytania podsumowującego. Dowolnego z tych dwóch typów zapytań można również użyć do znajdowania najwyższych i najniższych wartości w grupie rekordów lub wśród rekordów podzielonych na kategorie.

  • Zastosuj kolejność sortowania do zapytania.

  • Zastosuj inne kryteria do zapytania.

  • Określ liczbę rekordów zwracanych przez zapytanie. Możesz określić wartość procentową (na przykład 5 procent najwyższych wartości w polu) lub stałą liczbę (na przykład 10 najwyższych wartości w polu).

Wybieranie między zapytaniem zwracającym najwyższe wartości a filtrem

Aby określić, czy należy utworzyć zapytanie zwracające najwyższe wartości czy zastosować filtr, rozważ następujące kwestie:

  • Jeśli mają być zwracane rekordy o najwyższych lub najniższych wartościach w polu, gdy dokładne najwyższe lub najniższe wartości nie są znane (lub nie mają znaczenia), utwórz zapytanie zwracające najwyższe wartości.

  • Jeśli mają być zwracane wszystkie rekordy zawierające w polu wartości równe określonej wartości albo mniejsze lub większe od niej, zastosuj filtr. Aby na przykład zobaczyć produkty z cenami od 50 zł do 100 zł, zastosuj filtr. Na poniższym rysunku przedstawiono przykładowy filtr w widoku projektu zapytania i wyniki, jakie ten filtr może wygenerować.

    Produkty kosztujące od 50 zł do 100 zł

    Aby uzyskać więcej informacji o tworzeniu i używaniu filtrów, zobacz artykuł Filtrowanie — ograniczanie liczby rekordów w widoku.

Zasady tworzenia i używania zapytań zwracających najwyższe wartości

Podczas pracy należy pamiętać, że niezależnie od typu zapytania (zapytanie wybierające lub podsumowujące) należy używać pól, które zawierają dane opisowe, takie jak nazwiska pracowników lub nazwy produktów, oraz pola, w którym znajdują się najwyższe lub najniższe wartości do znalezienia, takiego jak pole ceny lub daty. Można użyć jednego lub więcej pól danych, a jeśli jest używane zapytanie podsumowujące, pola danych zazwyczaj powinny zawierać informacje o kategoriach, takie jak informacje w polu miasta lub kraju/regionu. Dane kategorii można pominąć tylko przy tworzeniu zapytania podsumowującego dla wszystkich rekordów, takiego jak „pokaż pięć procent zamówień, które mają najwyższą wartość”. Jednego z tych dwóch typów zapytań można również użyć do znalezienia najwyższych i najniższych wartości w grupie rekordów lub wśród rekordów podzielonych na kategorie. Aby uzyskać więcej informacji na temat wykonywania tej operacji, zobacz sekcję Znajdowanie najwyższych lub najniższych wartości dla rekordów w kategoriach lub grupach w dalszej części tego artykułu.

Znajdowanie rekordów zawierających najwyższe lub najniższe wartości

W poniższej sekcji opisano procedury tworzenia podstawowego zapytania zwracającego najwyższe wartości, a także bardziej zaawansowanego zapytania. W pierwszej sekcji przedstawiono podstawowe części zapytania zwracającego najwyższe wartości, a w drugiej sekcji wyjaśniono, jak znaleźć kilka najbliższych dat urodzin pracowników. W krokach użyto poniższej tabeli przykładowej:

Nazwisko

Imię

Adres

Miasto

Kraj/region

Data urodzenia

Data zatrudnienia

Bochenek

Tomasz

ul. Klonowa 15

Szczecin

Polska

05.02.1968

10.06.94

Ciesielska

Ewa

ul. Studzińskiego 52

Poznań

Polska

22.05.1957

22.11.96

Korzun

Dariusz

ul. Niezapominajki 75

Wrocław

Polska

11.11.1960

11.03.00

Jankowski

Marcin

ul. Złota 1

Lublin

Polska

22.03.1964

22.06.98

Kretowicz

Marcin

ul. Kosmonautów 2

Gdańsk

Polska

05.06.1972

05.01.02

Olecka

Aneta

ul. Niezapominajek 75

Wrocław

Polska

23.01.1970

23.04.99

Czupta

Wojciech

ul. Fistaszkowa 67

Toruń

Polska

14.04.1964

14.10.04

Wiśniewska

Aneta

ul. Grzebieniowa 2

Białystok

Polska

29.10.1959

29.03.97

Jankowski

Marcin

ul. Złota 1

Lublin

Polska

22.03.1964

20.06.1998

W razie potrzeby można wprowadzić dane z tej tabeli przykładowej ręcznie lub skopiować tę tabelę do programu arkusza kalkulacyjnego, takiego jak program Microsoft Office Excel 2007, a następnie zaimportować otrzymany arkusz do tabeli programu Microsoft Office Access 2007.

Pokaż mi, jak to zrobić

Ręczne wprowadzanie danych przykładowych

  1. Na karcie Tworzenie w grupie Tabele kliknij pozycję Tabela.

W programie Office Access 2007 do bazy danych zostanie dodana nowa pusta tabela.

Uwaga : Nie trzeba wykonywać tego kroku w przypadku otwierania nowej pustej bazy danych, ale jego wykonanie będzie konieczne podczas dodawania tabeli do istniejącej bazy danych.

  1. Kliknij dwukrotnie pierwszą komórkę w wierszu nagłówka i wpisz nazwę pola z tabeli przykładowej.
    Domyślnie program Access oznacza puste pola w wierszu nagłówka tekstem Dodaj nowe pole, w następujący sposób:
    Nowe pole w arkuszu danych

  2. Użyj klawiszy strzałek, aby przejść do następnej pustej komórki nagłówka, a następnie wpisz nazwę drugiego pola (możesz także nacisnąć klawisz TAB lub kliknąć dwukrotnie nową komórkę). Powtarzaj tę czynność do momentu wprowadzenia wszystkich nazw pól.

  3. Wprowadź dane do tabeli przykładowej.
    Podczas wprowadzania danych program Access ustala typ danych dla poszczególnych pól. Jeśli jesteś nowym użytkownikiem relacyjnych baz danych, warto ustawić określony typ danych, taki jak Liczba, Tekst lub Data/godzina, we wszystkich polach tworzonych tabel. Ustawienie typów danych pomaga zagwarantować prawidłowe wprowadzanie danych i uniknąć błędów, na przykład użycia numeru telefonu w obliczeniach. W tabelach przykładowych zezwól programowi Access na ustalenie typu danych.

  4. Po zakończeniu wprowadzania danych kliknij przycisk Zapisz
    Skrót klawiaturowy: naciśnij klawisze CTRL+S.
    Zostanie wyświetlone okno dialogowe Zapisz jako.

  5. W polu Nazwa tabeli wprowadź nazwę tabeli przykładowej, a następnie kliknij przycisk OK.
    Użyj nazw tabel przykładowych, ponieważ są one używane w zapytaniach opisanych w sekcjach z instrukcjami.

  6. Powtarzaj powyższe kroki do momentu utworzenia wszystkich tabel przykładowych wymienionych na początku tej sekcji.

Kopiowanie tabeli do programu arkusza kalkulacyjnego

  1. Uruchom program arkusza kalkulacyjnego i utwórz nowy pusty plik. Jeśli używasz programu Excel, nowy, pusty skoroszyt zostanie utworzony domyślnie.

  2. Skopiuj tabelę przykładową z poprzedniej sekcji i wklej ją do pierwszego arkusza, rozpoczynając od pierwszej komórki.

  3. Stosując technikę dostępną w programie arkusza kalkulacyjnego, nadaj arkuszowi nazwę Pracownicy.

  4. Zapisz plik arkusza kalkulacyjnego w dogodnej lokalizacji i przejdź do następnych kroków.

Importowanie tabeli do programu Access

  1. W nowej lub istniejącej bazie danych:
    Na karcie Dane zewnętrzne w grupie Importowanie kliknij pozycję Excel.
    — lub —
    Kliknij przycisk Więcej, a następnie wybierz z listy program arkusza kalkulacyjnego.
    Zostanie wyświetlone okno dialogowe Pobieranie danych zewnętrznych — arkusz kalkulacyjny programu Nazwa programu.

  2. Kliknij przycisk Przeglądaj, otwórz utworzony wcześniej plik arkusza kalkulacyjnego i kliknij przycisk OK.
    Zostanie uruchomiony Kreator importu arkuszy.

  3. Domyślnie kreator wybiera pierwszy arkusz w skoroszycie (w przypadku wykonania czynności w poprzedniej sekcji jest to arkusz Pracownicy). Dane z tego arkusza zostaną wyświetlone w dolnej sekcji strony kreatora. Kliknij przycisk Dalej.

  4. Na następnej stronie kreatora kliknij pozycję Pierwszy wiersz zawiera nagłówki kolumn, a następnie kliknij przycisk Dalej.

  5. Na następnej stronie kreatora możesz użyć pól tekstowych i list w obszarze Opcje pola, aby zmienić nazwy pól i typy danych lub aby pominąć określone pola podczas operacji importowania. W przeciwnym razie kliknij przycisk Dalej.

  6. Pozostaw zaznaczoną opcję Pozwalaj programowi Access dodać klucz podstawowy i kliknij przycisk Dalej.

  7. Domyślnie w programie Access nazwa arkusza zostanie zastosowana do nowej tabeli. Zaakceptuj tę nazwę lub wprowadź inną nazwę, a następnie kliknij przycisk Zakończ.

Uwaga : Jeśli nie masz programu arkusza kalkulacyjnego, możesz skopiować przykładowe dane do edytora tekstów, takiego jak Notatnik. Aby uzyskać więcej informacji na temat importowania danych tekstowych, zobacz artykuł Importowanie lub łączenie danych zawartych w pliku tekstowym.

Tworzenie podstawowego zapytania zwracającego najwyższe wartości

  1. Na karcie Tworzenie w grupie Inne kliknij polecenie Projekt zapytania.

  2. W oknie dialogowym Pokazywanie tabeli kliknij tabelę, której chcesz użyć w zapytaniu, kliknij przycisk Dodaj, aby umieścić tabelę w siatce projektu, a następnie kliknij przycisk Zamknij.
    — lub —
    Kliknij dwukrotnie tabelę.
    Jeśli używasz przykładowych danych, dodaj tabelę Pracownicy do zapytania.

  3. Dodaj pola, których chcesz użyć w zapytaniu, do siatki projektu. Możesz kliknąć dwukrotnie każde pole lub przeciągnąć i upuścić poszczególne pola na puste komórki w wierszu Pole.
    Jeśli używasz tabeli przykładowej, dodaj pola Imię, Nazwisko i Data urodzenia.

  4. W polu zawierającym najwyższe lub najniższe wartości (w tabeli przykładowej jest to pole Data urodzenia) kliknij wiersz Sortuj i wybierz opcję Rosnąco lub Malejąco.
    Jeśli pole wartości zawiera liczby, takie jak ceny lub wyniki sprzedaży, kolejność sortowania Rosnąco zwraca najniższe wartości, a kolejność sortowania Malejąco zwraca najwyższe wartości. Jeśli pole wartości zawiera daty, kolejność sortowania Malejąco zwraca najpóźniejszą datę, a kolejność sortowania Rosnąco zwraca najwcześniejszą datę.

    Ważne : W wierszu Sortowanie ustaw opcję Rosnąco lub Malejąco tylko dla tych pól, które zawierają najwyższe lub najniższe wartości. Jeśli kolejność sortowania zostanie określona dla pola innego niż pole zawierające najwyższe lub najniższe wartości — na przykład dla pola NazwaProduktu zamiast Cena — zapytanie nie zwróci odpowiednich wyników.

  5. Na karcie Projektowanie w grupie Narzędzia kliknij strzałkę w dół obok przycisku Wszystko (lista Najwyższe wartości) i wprowadź liczbę lub procent rekordów, które mają zostać wyświetlone, albo wybierz opcję z listy.

  6. Kliknij przycisk Uruchom Obraz przycisku , aby uruchomić zapytanie i wyświetlić wyniki w widoku arkusza danych.

  7. Zapisz zapytanie i pozostaw je otwarte — będzie używane w następnych krokach.

Jak widać, ten typ zapytania zwracającego najwyższe wartości pozwala odpowiedzieć na podstawowe pytania, na przykład kto jest najstarszą lub najmłodszą osobą w firmie. W następnych krokach wyjaśniono, w jaki sposób używać wyrażeń i innych kryteriów, aby zapewnić skuteczność i elastyczność zapytania. Kryteria pokazane w kolejnym kroku zwracają daty trzech najbliższych urodzin pracowników.

Dodawanie kryteriów do zapytania

Uwaga : W poniższej procedurze założono, że będzie używane zapytanie opisane w poprzedniej sekcji.

  1. W widoku projektu otwórz zapytanie utworzone w poprzednich krokach.

  2. W siatce projektu zapytania w kolumnie z prawej strony kolumny Data urodzenia skopiuj i wklej lub wpisz wyrażenie Wyr1: DatePart("m",[DataUrodzenia]). Funkcja DatePart wyodrębnia wartość miesiąca z wartości w polu Data urodzenia.

  3. Po prawej stronie kolumny zawierającej dane wyrażenie skopiuj i wklej lub wpisz wyrażenie Wyr2: DatePart("d",[DataUrodzenia]). W tym przypadku funkcja DatePart wyodrębnia wartość dnia z wartości w polu Data urodzenia.

  4. Wyczyść pola wyboru w wierszu Pokaż dla każdego wyrażenia, kliknij komórkę Sortuj dla każdego wyrażenia, a następnie wybierz opcję Rosnąco.

  5. Opcjonalnie możesz określić kryteria ograniczające zakres zapytania. Po określeniu kryteriów zapytanie posortuje tylko rekordy spełniające kryteria, a najwyższe lub najniższe wartości pól zostaną zidentyfikowane na liście.
    Aby kontynuować pracę z danymi przykładowymi, w wierszu Kryteria pola DataUrodzenia wpisz lub skopiuj i wklej następujące wyrażenie:

    Month([DataUrodzenia]) > Month(Date()) Or Month([DataUrodzenia])= Month(Date()) And Day([DataUrodzenia])>Day(Date())

    To wyrażenie wykonuje następujące operacje: Część Month([DataUrodzenia]) > Month(Date()) służy do sprawdzania, czy data urodzenia każdego pracownika przypada w jednym z przyszłych miesięcy. Rekordy spełniające ten warunek są dołączane do zapytania. Część wyrażenia Month([DataUrodzenia])= Month(Date()) And Day([DataUrodzenia])>Day(Date()) służy do sprawdzania, czy daty urodzenia pracowników urodzonych w bieżącym miesiącu przypadają w dniu dzisiejszym lub po nim. Rekordy spełniające ten warunek są również dołączane do zapytania. Można powiedzieć, że to wyrażenie ignoruje wszystkie rekordy pracowników, których data urodzenia przypada między 1 stycznia a dniem uruchomienia zapytania.

    Aby zobaczyć więcej przykładów wyrażeń kryteriów zapytań, zobacz artykuł Przykłady kryteriów zapytań.

  6. Na karcie Projektowanie w grupie Narzędzia kliknij strzałkę w dół obok przycisku Wszystko (lista Najwyższe wartości) i wprowadź liczbę lub procent rekordów, które mają zostać wyświetlone, albo wybierz opcję z listy.

  7. Kliknij przycisk Uruchom Obraz przycisku , aby uruchomić zapytanie i wyświetlić wyniki w widoku arkusza danych.

Jeśli zapytanie zwraca więcej rekordów niż oczekiwano

Jeśli dane zawierają rekordy, które mają jednakową wartość daty, zapytanie zwracające najwyższe wartości może zwrócić więcej danych niż oczekiwano. Można na przykład zaprojektować zapytanie zwracające najwyższe wartości, które będzie pobierać rekordy trzech pracowników, i uzyskać cztery rekordy, jeśli pracownicy „Wieczorek” i „Florczak” mają urodziny tego samego dnia. Ten typ zapytania zwraca wszystkie najwyższe wartości, bez względu na liczbę rekordów zawierających te wartości. Aby wykluczyć zduplikowane wartości, ustaw dla właściwości o nazwie Wartości unikatowe wartość Tak. Aby uzyskać informacje dotyczące używania tej właściwości, zobacz sekcję Jeśli zostaną wyświetlone zduplikowane rekordy w dalszej części tego artykułu.

Nazwisko

DataUrodzenia

Bator

26.9.1968

Duda

2.10.1970

Florczak

15.10.1965

Wieczorek

15.10.1969

Jeśli zapytanie zwraca mniej rekordów niż oczekiwano

Załóżmy, że zaprojektowano zapytanie zwracające pięć najwyższych lub najniższych rekordów w polu, ale widać tylko trzy rekordy. Z reguły problem tego typu rozwiązuje się przez otwarcie zapytania w widoku projektu i przejrzenie wiersza Kryteria w siatce projektu w poszukiwaniu kryteriów, które są bardziej restrykcyjne niż zamierzano. Aby uzyskać więcej informacji o kryteriach, zobacz artykuł Przykłady kryteriów zapytań.

Jeśli zostaną wyświetlone zduplikowane rekordy

Jeśli zapytanie zwracające najwyższe wartości zwróci duplikaty, to albo w tabelach źródłowych znajdują się powielone rekordy, albo zwrócone rekordy wyglądają na duplikaty, ponieważ w zapytaniu nie uwzględniono pól umożliwiających jednoznaczne rozróżnienie poszczególnych rekordów. Poniżej przedstawiono wyniki zapytania zawierające pięć wysłanych ostatnio zamówień wraz z nazwiskiem sprzedawcy, który obsługiwał transakcję.

DataWysyłki

Sprzedawca

12.11.2004

Pawłowski

12.11.2004

Kucharski

12.10.2004

Dubicki

12.10.2004

Dubicki

12.10.2004

Pawłowski

Trzeci i czwarty rekord wyglądają jak duplikaty, jednak jest możliwe, że sprzedawca Dubicki obsługiwał dwa różne zamówienia z wysyłką w tym samym dniu.

Zwracania zduplikowanych rekordów można uniknąć na dwa sposoby, zależnie od konkretnych wymagań. Można zmienić projekt zapytania, dodając do niego pola, które pomogą rozróżnić rekordy, takie jak IDZamówienia czy IDKlienta. Jeśli wystarczy tylko jeden ze zduplikowanych rekordów, można określić wyświetlanie tylko różnych rekordów, nadając właściwości zapytania Wartości unikatowe wartość Tak. Aby ustawić tę właściwość, naciśnij klawisz F4 w widoku projektu w celu wyświetlenia arkusza właściwości zapytania, zlokalizuj właściwość Wartości unikatowe i ustaw ją na wartość Tak.

Aby uzyskać więcej informacji na temat postępowania ze zduplikowanymi rekordami, zobacz artykuł Znajdowanie, ukrywanie lub usuwanie zduplikowanych danych.

Początek strony

Znajdowanie najwyższych lub najniższych wartości dla rekordów w kategoriach lub grupach

Najwyższe lub najniższe wartości rekordów należących do grup można znaleźć, tworząc zapytanie podsumowujące. Podczas pracy pamiętaj, że domyślnie zapytanie podsumowujące może obejmować wyłącznie pole lub pola zawierające dane grup, takie jak pole „kategorie”, i pole, w którym znajdują się najwyższe i najniższe wartości, takie jak pole „cena”. Zapytania podsumowujące nie mogą zawierać innych pól opisujących elementy kategorii. Można jednak utworzyć drugie zapytanie, które uwzględni pola z zapytania podsumowującego oraz pola z innych tabel zawierające dane opisowe.

Załóżmy na przykład, że przypisujesz poszczególne produkty z tabeli produktów do kategorii, takiej jak Gry planszowe, Puzzle itd. Jeśli utworzysz zapytanie podsumowujące służące do identyfikowania najdroższych produktów w każdej kategorii, może ono uwzględniać tylko pole lub pola zawierające dane kategorii oraz pole zawierające dane cen. Załóżmy w ramach tego przykładu, że istnieją pola o nazwach Nazwa kategorii i Cena. Uruchomienie zapytania tego typu spowoduje dołączenie w programie Access ciągu „Max” lub „Min” (zależnie od wybranej funkcji) na początku pola Cena, na przykład w następujący sposób:

Nazwa kategorii

MaxCena

Gry planszowe

55,00 zł

Puzzle

43,90 zł

Gry komputerowe

263,50 zł

Lalki

81,00 zł

...

...

Zapytanie podsumowujące nie może uwzględniać innych pól pomagających opisać produkt (a tym samym ułatwiających zrozumienie danych), na przykład nazw produktów lub dostawców, jak pokazano na poniższym przykładzie:

Nazwa kategorii

MaxCena

Nazwa produktu

Nazwa dostawcy

Gry planszowe

55,00 zł

Jak się dobrze bawić z C++

Proseware, Inc.

Puzzle

43,90 zł

Diagram relacyjnej bazy danych

Lucerne Publishing

Gry komputerowe

263,50 zł

Maniacy komputerowi kontra mityczne stwory

Litware SA

Lalki

81,00 zł

Figurka programisty

Contoso, Ltd.

...

...

...

...

Jeśli chcesz, aby te dane opisowe były widoczne, możesz utworzyć drugie zapytanie wybierające, łączące pola zawarte w zapytaniu podsumowującym z dodatkowymi polami danych.

W tej sekcji wyjaśniono, w jaki sposób są tworzone zapytania podsumowujące i wybierające potrzebne do identyfikacji najdroższych produktów w poszczególnych zestawach kategorii. W procedurach założono użycie następujących tabel przykładowych:

Tabela Kategorie

IDKategorii

Nazwa kategorii

Opis

1

Gry planszowe

Wszystkie przedziały wiekowe i stopnie zaawansowania

2

Puzzle

Układanki, układanki słowne, puzzle

3

Gry komputerowe

Wszystkie konsole i stopnie zaawansowania

4

Lalki

Figurki bohaterów, lalki

5

Sprzęt sportowy

Piłki, ubrania, siatki

6

Modele/hobby

Samoloty, samochody, pociągi

Tabela Dostawcy

IDDostawcy

Nazwa dostawcy

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 SA

12

Southridge Video

Tabela Produkty

Nazwa produktu

IDDostawcy

IDKategorii

Cena

Figurka programisty

7

4

12,95 zł

Jak się dobrze bawić z C++

6

1

15,85 zł

Diagram relacyjnej bazy danych

5

2

22,50 zł

Magiczny mikroukład komputerowy

3

2

32,65 zł

Access! Gra

1

1

22,95 zł

Maniacy komputerowi kontra mityczne stwory

11

3

78,50 zł

Gimnastyka dla maniaków komputerowych! Płyta DVD

4

5

14,88 zł

Super latająca pizza

2

5

36,75 zł

Zewnętrzna stacja dyskietek 5,25 cala (skala 1:4)

8

6

65,00 zł

Figurka menedżera

9

4

78,88 zł

Gloom

12

3

53,33 zł

Zestaw „zbuduj własną klawiaturę”

1

6

77,95 zł

Uwaga : W podanych krokach założono również, że występuje relacja jeden-do-wielu między tabelami Kategorie i Produkty oraz między tabelami Dostawcy i Produkty. W tym przypadku tabele mają wspólne pola IDDostawcy i IDKategorii. Zapytanie podsumowujące opisane w następnych sekcjach nie będzie działać bez tych relacji.

Tworzenie zapytania podsumowującego

  1. Na karcie Tworzenie w grupie Inne kliknij polecenie Projekt zapytania.

  2. W oknie dialogowym Pokazywanie tabeli wybierz tabele, z którymi chcesz pracować, kliknij pozycję Dodaj, a po zakończeniu dodawania tabel kliknij przycisk Zamknij.
    — lub —
    Kliknij dwukrotnie tabele, których chcesz użyć, a następnie kliknij przycisk Zamknij. Każda tabela zostanie wyświetlona w siatce projektu. Jeśli używasz przykładowych tabel wymienionych powyżej, dodaj tabele Kategorie i Produkty.

  3. Kliknij dwukrotnie pola tabeli, których chcesz użyć w zapytaniu.
    Upewnij się, że na tym etapie dodano do zapytania tylko pola grupy i pole wartości. Jeśli używasz przykładowych danych wyszczególnionych w poprzedniej tabeli, dodaj pole Nazwa kategorii z tabeli Kategorie i pole Cena z tabeli Produkty.

  4. Opcjonalnie można określić kryteria ograniczające zakres zapytania.
    Sortowanie obejmie tylko rekordy spełniające te kryteria, a na posortowanej liście zostaną zidentyfikowane najwyższe i najniższe wartości. Aby na przykład wykluczyć produkty z kategorii Sport, dodaj następujące wyrażenie do wiersza Kryteria w polu Nazwa kategorii: <>"Sport".
    Aby zobaczyć więcej przykładów wyrażeń kryteriów zapytań, zobacz artykuł Przykłady kryteriów zapytań.

  5. Przekonwertuj zapytanie na zapytanie podsumowujące.

    1. Na karcie Projektowanie w grupie Pokazywanie/ukrywanie kliknij pozycję Sumy.

      W siatce projektu zostanie wyświetlony wiersz Suma.

  6. Sprawdź, czy w komórce Suma poszczególnych pól grupy jest ustawiona wartość Grupuj według, a następnie ustaw w komórce Suma dla pola wartości (pola zawierającego najwyższe i najniższe wartości) wartość Maksimum lub Minimum.
    Wybranie ustawienia Maksimum spowoduje, że zostanie zwrócona najwyższa wartość w polu liczbowym albo najpóźniejsza wartość daty lub godziny w polu typu Data/Godzina. Wybranie ustawienia Minimum spowoduje, że zostanie zwrócona najniższa wartość w polu liczbowym albo najwcześniejsza wartość daty lub godziny w polu typu Data/Godzina. Jeśli korzystasz z przykładowych danych, w komórce Suma w polu Nazwa kategorii określ ustawienie Grupuj według, a w polu Cena w komórce Suma określ ustawienie Maksimum lub Minimum.

  7. Upewnij się, że na liście Najwyższe wartości na karcie Projektowanie w grupie Narzędzia wybrano pozycję Wszystkie, a następnie kliknij przycisk Uruchom Obraz przycisku , aby uruchomić zapytanie i wyświetlić wyniki w widoku arkusza danych.

    Uwaga : W zależności od funkcji wybranej w kroku 7 program Access zmieni nazwę pola wartości w zapytaniu na MaxNazwaPola lub MinNazwaPola. W przypadku korzystania z przykładowych tabel program Access zmieni nazwę pola na MaxCena lub MinCena.

  8. Zapisz zapytanie i przejdź do następnych kroków.

Zapytanie nie zwraca nazw produktów ani żadnych innych informacji o produktach. Aby zobaczyć te dodatkowe dane, musisz utworzyć drugie zapytanie, w którym zostanie uwzględnione właśnie utworzona zapytanie. W następnych krokach wyjaśniono, w jaki sposób utworzyć drugie zapytanie.

Tworzenie drugiego zapytania w celu wyświetlenia większej ilości danych

  1. Na karcie Tworzenie w grupie Inne kliknij polecenie Projekt zapytania.

  2. W oknie dialogowym Pokazywanie tabeli kliknij kartę Zapytania, a następnie kliknij dwukrotnie zapytanie podsumowujące utworzone w poprzedniej sekcji.

  3. Kliknij kartę Tabele i dodaj tabele użyte w zapytaniu podsumowującym oraz wszystkie żądane tabele zawierające inne dane pokrewne, które chcesz zobaczyć.
    Jeśli są używane przykładowe tabele wymienione wcześniej, dodaj do nowego zapytania tabele Kategorie, Produkty i Dostawcy.

  4. Połącz pola w zapytaniu podsumowującym z odpowiadającymi im polami w tabelach nadrzędnych. W tym celu przeciągnij każde pole w zapytaniu podsumowującym do odpowiadającego mu pola w tabeli.

    W przypadku korzystania z przykładowych danych przeciągnij pole Nazwa kategorii w zapytaniu podsumowującym do pola Nazwa kategorii w tabeli Kategorie. Następnie przeciągnij pole MaxCena w zapytaniu podsumowującym do pola Cena w tabeli Produkty. Sprzężenia udostępniają nowe zapytanie wybierające, która zbiera dane z zapytania podsumowującego i z innych tabel.

  5. W oknie zapytania podsumowującego kliknij dwukrotnie gwiazdkę, aby dodać całe zapytanie do siatki projektu, a następnie przeciągnij dodatkowe pola z innych tabel w zapytaniu.

    W przypadku używania tabel przykładowych kliknij dwukrotnie zapytanie podsumowujące utworzone w poprzedniej sekcji, a następnie dodaj pola Nazwa produktu i Dostawca odpowiednio z tabel Produkty i Dostawcy.

  6. Opcjonalnie określ kolejność sortowania dla jednej lub większej liczby kolumn.
    Aby na przykład wyświetlić listę kategorii w kolejności alfabetycznej, ustaw komórkę Sortowanie kolumny Nazwa kategorii na wartość Rosnąco.

  7. Na karcie Projektowanie w grupie Wyniki kliknij przycisk Uruchom.

    Spowoduje to uruchomienie zapytania i wyświetlenie wyników w widoku arkusza danych.

Porada    Jeśli nagłówek kolumny Cena nie ma być wyświetlany jako MaxCena lub MinCena, otwórz zapytanie w widoku projektu i w siatce w kolumnie Cena wpisz ciąg Cena: MaxCena lub Cena: MinCena. Ciąg Cena zostanie wyświetlony w widoku arkusza danych jako nagłówek kolumny.

Początek strony

Znajdowanie rekordów zawierających najwyższe i najniższe wartości

Zapytania utworzone wcześniej w tym artykule mogą zwracać najwyższe lub najniższe wartości, ale nie obie naraz. Aby wyświetlić oba zestawy wartości w jednym widoku, musisz utworzyć dwa zapytania — jedno pobierające najwyższe wartości i drugie pobierające najniższe wartości — a następnie scalić i przechować wyniki w pojedynczej tabeli.

Proces znajdowania najwyższych i najniższych wartości oraz wyświetlania tych danych w tabeli odbywa się zgodnie z następującą ogólną procedurą:

  • Utwórz zapytanie zwracające najwyższe wartości i zapytanie zwracające najniższe wartości, a jeśli trzeba pogrupować dane, utwórz zapytania podsumowujące, w których są używane funkcje Minimum i Maksimum.

  • Przekonwertuj zapytanie zwracające najwyższe wartości (lub zapytanie podsumowujące, w którym została użyta funkcja Maksimum) na zapytanie tworzące tabelę i uruchom to zapytanie, aby utworzyć nową tabelę.

  • Przekonwertuj zapytanie zwracające najniższe wartości (lub zapytanie podsumowujące, w którym została użyta funkcja Minimum) na zapytanie dołączające i uruchom to zapytanie, aby dołączyć rekordy do tabeli najwyższych wartości.

    W tych sekcjach wyjaśniono, w jaki sposób utworzyć zapytanie.

    Uwaga : Jeśli baza danych nie jest podpisana cyfrowo lub nie znajduje się w zaufanej lokalizacji, program Access uniemożliwia uruchamianie opisanych tutaj zapytań funkcjonalnych. Przed próbą utworzenia wymienionych zapytań tworzących tabele i zapytań dołączających wykonaj pierwszy zestaw czynności w celu włączenia wszelkiej zablokowanej zawartości.

    Włączanie zawartości w bazie danych

    • Na pasku komunikatów kliknij pozycję Opcje.

      Zostanie wyświetlone okno dialogowe Opcje zabezpieczeń pakietu Microsoft Office.

    • Wybierz pozycję Włącz tę zawartość, a następnie kliknij przycisk OK.

    • Ponownie uruchom zapytanie.

      Jeśli nie widać paska komunikatów

    • Na karcie Narzędzia bazy danych w grupie Pokazywanie/ukrywanie kliknij przycisk Pasek komunikatów.

      Aby uzyskać więcej informacji o trybie wyłączonym i zabezpieczeniach programu Access, zobacz artykuł Zabezpieczanie bazy danych programu Access 2007.

      Tworzenie zapytań

  • Utwórz zapytanie zwracające najwyższe wartości i zapytanie zwracające najniższe wartości.

    Opis instrukcji służących do utworzenia zapytania zwracającego najwyższe lub najniższe wartości znajduje się w sekcji Znajdowanie rekordów zawierających najwyższe lub najniższe wartości wcześniej w tym artykule. Aby pogrupować rekordy według kategorii, zobacz sekcję Znajdowanie najwyższych lub najniższych wartości dla rekordów w kategoriach lub grupach wcześniej w tym artykule.

  • Zapisz każde zapytanie i pozostaw je otwarte — będą używane w następnych krokach.

Tworzenie zapytania tworzącego tabelę

  1. Zapytanie zwracające najwyższe wartości powinno być otwarte w widoku projektu. Wykonaj następujące czynności:

    Na karcie Projektowanie w grupie Typ kwerendy kliknij przycisk Utwórz tabelę.
    Zostanie wyświetlone okno dialogowe Tworzenie tabeli.

  2. W polu Nazwa tabeli wpisz nazwę tabeli, w której będą przechowywane rekordy o najwyższej i najniższej wartości. Wpisz na przykład tekst Najwyższe i najniższe rekordy, a następnie kliknij przycisk OK.
    Przy każdym uruchomieniu zapytania zamiast wyświetlania wyników w widoku arkusza danych zapytanie będzie tworzyło tabelę i zastępowało najwyższą wartość bieżącymi danymi.

  3. Zapisz i zamknij kwerendę.

Tworzenie kwerendy dołączającej

  1. Otwórz zapytanie zwracające najniższą wartość w widoku projektu.

  2. Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Dołącz.

  3. W oknie dialogowym Dołączanie wpisz nazwę wpisaną wcześniej w oknie dialogowym Tworzenie tabeli.
    Wpisz na przykład tekst Najwyższe i najniższe rekordy, a następnie kliknij przycisk OK. Przy każdym uruchomieniu zapytania zamiast wyświetlania wyników w widoku arkusza danych zapytanie będzie dołączało rekordy do tabeli Najwyższe i najniższe rekordy.

  4. Zapisz i zamknij kwerendę.

Uruchamianie zapytań

Teraz możesz uruchomić dwa zapytania.

  • W oknie Baza danych kliknij dwukrotnie zapytanie zwracające najwyższą wartość i kliknij przycisk Tak w komunikatach.

  • Kliknij dwukrotnie zapytanie Najniższa wartość i kliknij przycisk Tak w komunikatach.

  • Otwórz tabelę Najwyższe i najniższe rekordy w widoku arkusza danych.

Początek strony

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×