Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

W celu zwiększenia czytelności i przejrzystości danych podsumowujących w programie Access rozważ użycie zapytania krzyżowego. Zapytanie krzyżowe oblicza sumę, średnią lub inną funkcję agregującą, a następnie grupuje wyniki według dwóch zestawów wartości — jednego wzdłuż bocznej, a drugiego wzdłuż górnej krawędzi arkusza danych. Na wstążce kliknij kartę Tworzenie, a następnie w grupie Zapytania kliknij pozycję Kreator zapytań. W oknie dialogowym Nowe zapytanie kliknij dwukrotnie pozycję Kreator zapytań krzyżowych.

Jeśli jeden z zestawów nagłówków zawiera daty, kreator pomoże też pogrupować rekordy w standardowe interwały, takie jak miesiące czy kwartały.

W tym artykule

Uwaga: Zapytania krzyżowe nie są dostępne w aplikacjach sieci Web programu Access, a w bazach danych sieci Web są obsługiwane jedynie częściowo: nie mogą być używane przez żadne obiekty sieci Web.

Omówienie

Zapytanie krzyżowe to rodzaj funkcji zapytanie wybierające. Po uruchomieniu zapytania krzyżowego wyniki są wyświetlane w arkuszu danych, którego struktura różni się od struktur arkuszy danych innych typów.

Struktura zapytania krzyżowego może zwiększyć czytelność informacji w porównaniu do prostego zapytania wybierającego, które wyświetla te same dane, co pokazano na poniższej ilustracji.

Zapytanie wybierające i zapytanie krzyżowe wyświetlające te same dane

1. To zapytanie wybierające grupuje dane podsumowania w pionie, według pracownika i kategorii.

2. Zapytanie krzyżowe może wyświetlić te same dane, ale grupując je w pionie i poziomie, dzięki czemu arkusz danych jest bardziej kompaktowy i czytelny.

Podczas tworzenia zapytania krzyżowego użytkownik określa pola, które zawierają nagłówki wierszy, nagłówki kolumn oraz wartości do podsumowania. W celu określenia nagłówków kolumn i wartości do podsumowania można użyć tylko jednego pola. W celu określenia nagłówków wierszy można użyć maksymalnie trzech pól.

Wyrażenia można także użyć w celu określenia nagłówków wierszy, nagłówków kolumn lub wartości do podsumowania. Aby uzyskać więcej informacji, zobacz Funkcje agregujące języka SQL.

Diagram kwerendy krzyżowej

1. Jedna, dwie lub trzy kolumny po tej stronie zawierają nagłówki wierszy. Nazwy pól użytych jako nagłówki wierszy są wyświetlane w górnym wierszu tych kolumn.

2. Tutaj znajdują się nagłówki wierszy. Liczba wierszy w krzyżowym arkuszu danych może szybko wzrosnąć, gdy używa się więcej niż jednego pola nagłówka wiersza, ponieważ są wyświetlane wszystkie kombinacje nagłówków wierszy.

3. Kolumny po tej stronie zawierają nagłówki kolumn i wartości podsumowania. Należy zauważyć, że nazwa pola nagłówka kolumny nie jest wyświetlana w arkuszu danych.

4. Tutaj znajdują się wartości podsumowania.

Metody tworzenia zapytań krzyżowych

Za pomocą Kreatora zapytań krzyżowych    Użycie Kreatora zapytań krzyżowych to zwykle najszybszy i najprostszy sposób utworzenia zapytania krzyżowego. To narzędzie wykonuje większość pracy dla użytkownika, ale istnieje kilka opcji, których kreator nie oferuje.

Zalety korzystania z kreatora:

  • Łatwość użycia. Aby skorzystać z kreatora, wystarczy go uruchomić, a następnie odpowiedzieć na pytania, do których są dołączone wskazówki.

  • Możliwość automatycznego grupowania dat w interwały. Jeśli jest używane pole zawierające dane daty/godziny dla nagłówków kolumn, kreator ułatwia też grupowanie dat w interwały, takie jak miesiące czy kwartały.

    Porada: Aby użyć wartości z pola Data/godzina dla nagłówków kolumn i jednocześnie pogrupować daty w interwały, których kreator nie obsługuje (takie jak rok obrachunkowy lub okres dwóch lat), nie należy tworzyć zapytania za pomocą kreatora. Zamiast tego należy utworzyć zapytanie krzyżowe w widoku projektu i utworzyć interwały przy użyciu wyrażenia.

  • Może być używany jako punkt wyjścia. Za pomocą kreatora można utworzyć odpowiednie podstawowe zapytanie krzyżowe, a następnie dostosować projekt zapytania przy użyciu widoku projektu.

Za pomocą kreatora nie można jednak:

  • zastosować więcej niż jednej tabeli lub jednego zapytania, które będzie używane jako źródło rekordów,

  • zastosować elementu wyrażenie do tworzenia pól,

  • dodać monitu o podanie parametru,

  • określić listy stałych wartości do użycia jako nagłówków kolumn.

    W ostatnim kroku kreatora można dostosować zapytanie w widoku projektu. Dzięki temu można dodać elementy projektu zapytania, które nie są obsługiwane przez kreatora, takie jak dodatkowe źródła rekordów.

Praca w widoku projektu     Widok projektu zapewnia większą kontrolę nad projektem zapytania. Widok ten obsługuje funkcje, które nie są dostępne w kreatorze.

Należy rozważyć utworzenie zapytania krzyżowego za pomocą widoku projektu, jeśli chce się:

  • Masz większą kontrolę nad tym procesem. Kreator podejmuje pewne decyzje za Ciebie.

  • użyć więcej niż jednej tabeli lub jednego zapytania jako źródła rekordów,

  • dodać do zapytania monit o podanie parametru,

  • użyć wyrażeń jako pól w zapytaniu,

  • określić listy stałych wartości do użycia jako nagłówków kolumn,

  • przećwiczyć korzystanie z obszaru siatka projektu.

Pisanie zapytania w widoku SQL    Zapytanie krzyżowe można też napisać w widoku SQL. Za pomocą widoku SQL nie można jednak określić typów danych parametrów. Aby użyć parametru w zapytaniu krzyżowym, należy określić typ danych parametru przez zmodyfikowanie zapytania w widoku projektu.

Porada: Warto zapamiętać — nie ma ograniczenia uniemożliwiającego korzystanie z więcej niż jednej metody podczas tworzenia zapytania krzyżowego. Można utworzyć zapytanie za pomocą kreatora, a następnie zmodyfikować jego projekt przy użyciu widoku projektu.

Początek strony

Tworzenie zapytania krzyżowego za pomocą Kreatora zapytań krzyżowych

Kreator zapytań krzyżowych wymaga wybrania jednej tabeli lub jednego zapytania jako źródła rekordów dla zapytania krzyżowego. Jeśli jedna tabela nie zawiera wszystkich danych, które mają zostać uwzględnione w zapytaniu krzyżowym, należy rozpocząć od utworzenia zapytania wybierającego, które zwraca żądane dane. Więcej informacji na temat tworzenia zapytania wybierającego można znaleźć w sekcji Zobacz też.

W tym przykładzie utworzymy zapytanie krzyżowe, używając tabeli Produkty z przykładowej bazy danych firmy Northwind. Chcemy wyświetlić liczbę różnych produktów w poszczególnych kategoriach od wszystkich dostawców.

  1. Na karcie Tworzenie w grupie Zapytania kliknij pozycję Kreator zapytań.

    W grupie Zapytania na wstążce programu Access są wyświetlane dwie opcje: Kreator zapytań i Projekt zapytania
  2. W oknie dialogowym Nowe zapytanie kliknij polecenie Kreator zapytań krzyżowych, a następnie kliknij przycisk OK.

    Zostanie uruchomiony Kreator zapytań krzyżowych.

  3. Na pierwszej stronie kreatora wybierz tabelę lub zapytanie, za pomocą której chcesz utworzyć zapytanie krzyżowe. W tym przykładzie wybierz tabelę Produkty, a następnie kliknij pozycję Dalej.

    Wybieranie tabeli lub zapytania w Kreatorze zapytań krzyżowych.
  4. Na następnej stronie wybierz pole zawierające wartości, których chcesz użyć jako nagłówki wierszy. Możesz wybrać maksymalnie trzy pola do użycia jako źródła nagłówków wierszy, ale im mniej nagłówków wierszy użyjesz, tym bardziej czytelny będzie krzyżowy arkusz danych. Jeśli zostanie wybrane więcej niż jedno pole jako źródło nagłówków wierszy, kolejność wybierania pól określa kolejność domyślną, w której będą sortowane wyniki.

    W tym przykładzie wybierz pozycję Identyfikator dostawcy.Wartość, a następnie kliknij przycisk oznaczony symbolem >. Zwróć uwagę, że program Access wyświetla nazwę pola wzdłuż lewej krawędzi okna podglądu przykładowego zapytania u dołu okna dialogowego. Kliknij przycisk Dalej, aby kontynuować.

    Zaznaczanie pola, które ma być wyświetlane jako nagłówki wierszy, w Kreatorze zapytań krzyżowych.
  5. Na następnej stronie wybierz pole zawierające wartości, których chcesz użyć jako nagłówki kolumn. Na ogół należy wybrać pole zawierające niewiele wartości, aby zachować czytelność wyników. Na przykład użycie pole zawierającego tylko kilka możliwych wartości (takich jak płeć) może być lepszym rozwiązaniem niż użycie pola zawierającego wiele różnych wartości (takich jak wiek).

    Jeśli pole wybrane dla nagłówków kolumn zawiera typ danych Data/godzina, kreator doda krok pozwalający określić sposób grupowania dat w interwały, takie jak miesiące czy kwartały.

    W tym przykładzie wybierz pozycję Kategoria i zwróć uwagę, że program Access wyświetla nazwy kategorii wzdłuż górnej krawędzi okna podglądu przykładowego zapytania u dołu okna dialogowego. Kliknij przycisk Dalej, aby kontynuować.

    Zaznaczanie pola, które ma być wyświetlane jako nagłówki wierszy, w Kreatorze zapytań krzyżowych.
  6. Jeśli dla nagłówków kolumn wybierzesz pole Data/godzina, na następnej stronie kreatora zostanie wyświetlony monit o określenie interwału, który ma być używany do grupowania dat. Możesz określić interwał jako Rok, Kwartał, Miesiąc, Datę lub Datę/godzinę. Jeśli nie wybierzesz pola Data/godzina dla nagłówków kolumn, kreator pominie tę stronę.

  7. Na następnej stronie wybierz pole i funkcję, za pomocą których mają być obliczane wartości podsumowania. Typ danych wybranego pola określa, które funkcje są dostępne.

    Na tej samej stronie zaznacz lub wyczyść pole wyboru Tak, dołącz sumy wierszy, aby dołączyć lub wykluczyć sumy wierszy.

    Jeśli dołączysz sumy wierszy, zapytanie krzyżowe będzie zawierać dodatkowy nagłówek wiersza, używający tego samego pola i funkcji co wartość pola. Dołączenie sumy wiersza powoduje wstawienie dodatkowej kolumny podsumowującej pozostałe kolumny. Jeśli na przykład zapytanie krzyżowe oblicza średnią wieku według lokalizacji i płci (z nagłówkami kolumn płci), dodatkowa kolumna będzie obliczać średnią wieku według lokalizacji dla obu płci.

    W tym przykładzie wybierz pozycję Identyfikator w obszarze Pola i pozycję Liczba w obszarze Funkcje, aby program Access zliczył produkty na każdym przecięciu wartości dostawcy i kategorii. Pole wyboru Tak, dołącz sumy wierszy pozostaw zaznaczone. Program Access utworzy kolumnę sumującą liczbę produktów od każdego dostawcy. Kliknij przycisk Dalej, aby kontynuować.

    Wybieranie pola i funkcji do obliczenia w Kreatorze zapytań krzyżowych.
  8. Na ostatniej stronie kreatora wpisz nazwę zapytania, a następnie określ, czy chcesz wyświetlić wyniki lub zmodyfikować projekt zapytania.

    Można zmienić funkcję używaną do zwracania sum wierszy, edytując zapytanie krzyżowe w widoku projektu.

  9. Jeśli wykonano ten przykład, używając tabeli Produkty z przykładowej bazy danych firmy Northwind, zapytanie krzyżowe wyświetli listę nazw dostawców w wierszach, nazwy kategorii produktów w kolumnach, oraz liczbę produktów na każdym przecięciu.

    Zapytanie krzyżowe wyświetlone w widoku arkusza danych z dostawcami i kategoriami produktów.

Początek strony

Tworząc zapytanie krzyżowe za pomocą widoku projektu, można użyć dowolnej liczby źródeł rekordów (tabel i zapytań). Można jednak zachować prostotę projektu, tworząc najpierw zapytanie wybierające, które zwraca wszystkie żądane dane, a następnie używając tego zapytania jako jedynego źródła rekordów zapytania krzyżowego. Więcej informacji o tworzeniu zapytania wybierającego można znaleźć w sekcji Zobacz też.

Podczas konstruowania zapytania krzyżowego w widoku projektu użytkownik za pomocą wierszy Suma i Krzyżowe w siatce projektu określa pola, których wartości staną się nagłówkami kolumn, staną się nagłówkami wierszy oraz zostaną użyte do obliczeń (sumowania, zliczania, obliczania średniej itd.).

Części kwerendy krzyżowej pokazane w widoku projektu

1. Ustawienia w tych wierszach określają, czy pole jest nagłówkiem wiersza, nagłówkiem kolumny czy wartością podsumowania.

2. To ustawienie powoduje wyświetlanie wartości pola jako nagłówków wierszy.

3. To ustawienie powoduje wyświetlanie wartości pola jako nagłówków kolumn.

4. Te ustawienie powodują zwracanie wartości podsumowania.

Tworzenie zapytania

  1. Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.

    W grupie Zapytania na wstążce programu Access są wyświetlane dwie opcje: Kreator zapytań i Projekt zapytania
  2. W oknie dialogowym Pokazywanie tabeli kliknij dwukrotnie każdą tabelę lub każde zapytanie, których chcesz użyć jako źródła rekordów.

    Jeśli używasz kilku źródeł rekordów, upewnij się, że te tabele lub zapytania są sprzężone za pomocą wspólnych pól. Aby uzyskać więcej informacji na temat sprzęgania tabel i zapytań, skorzystaj z linków w sekcji Zobacz też.

  3. Zamknij okno dialogowe Pokazywanie tabeli.

  4. Na karcie Projektowanie w grupie Typ zapytania kliknij przycisk Krzyżowe.

  5. W oknie projektu zapytania kliknij dwukrotnie każde pole, którego chcesz użyć jako źródła nagłówków wierszy. Dla potrzeb nagłówków wierszy można wybrać maksymalnie trzy pola.

  6. W siatce projektu zapytania w wierszu Krzyżowe dla każdego pola nagłówków wierszy wybierz pozycję Nagłówek wiersza.

    W wierszu Kryteria możesz wprowadzić wyrażenie, aby ograniczyć wyniki dla tego pola. Za pomocą wiersza Sortuj możesz też określić kolejność sortowania dla pola.

  7. W oknie projektu zapytania kliknij dwukrotnie pole, którego chcesz użyć jako źródła nagłówków kolumn. Dla nagłówków kolumn możesz wybrać tylko jedno pole.

  8. W siatce projektu zapytania w wierszu Krzyżowe dla pola nagłówka kolumny wybierz pozycję Nagłówek kolumny.

    W wierszu Kryteria możesz wprowadzić wyrażenie, aby ograniczyć wyniki dla pola nagłówka kolumny. Użycie wyrażenia ustalającego kryteria z polem nagłówka kolumny nie ogranicza jednak liczby kolumn zwracanych przez zapytanie krzyżowe. Zamiast tego takie wyrażenie ogranicza to, które kolumny zawierają dane. Załóżmy na przykład, że jest pole nagłówka kolumny zawierające trzy możliwe wartości: czerwony, zielony i niebieski. Jeśli do pola nagłówka kolumny zastosujesz kryterium ='niebieski', zapytanie krzyżowe nadal będzie wyświetlać kolumny dla wartości czerwony i dla wartości zielony, ale tylko kolumna dla wartości niebieski będzie zawierać dane.

    Aby ograniczyć wartości wyświetlane jako nagłówki kolumn, można określić listę stałych wartości, używając właściwości Nagłówki kolumn zapytania. Aby uzyskać więcej informacji, zobacz następną sekcję.

  9. W oknie projektu zapytania kliknij dwukrotnie pole, za pomocą którego chcesz obliczać wartości podsumowania. Dla potrzeb wartości podsumowania można użyć tylko jednego pola.

  10. W siatce projektu zapytania w wierszu Suma dla pola wartości podsumowania wybierz funkcję agregującą, za pomocą której mają być obliczane te wartości.

  11. W wierszu Krzyżowe dla pola wartości podsumowania wybierz pozycję Wartość.

    Dla pola wartości podsumowania nie można określić kryteriów. Nie można też sortować według tego pola.

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

Określanie stałych wartości dla nagłówków kolumn

Aby określić stałe wartości, które mają być używane dla nagłówków kolumn, można ustawić właściwość Nagłówki kolumn zapytania.

  1. Otwórz zapytanie krzyżowe w widoku projektu.

  2. Jeżeli arkusz właściwości jest niewidoczny, naciśnij klawisz F4, aby go wyświetlić.

  3. Upewnij się, że w arkuszu właściwości tuż nad kartą Ogólne dla pozycji Typ zaznaczenia jest wybrana wartość Właściwości zapytania. Jeśli nie jest wybrana ta wartość, kliknij puste miejsce w obszarze nad siatką projektu zapytania.

  4. W arkuszu właściwości na karcie Ogólne we właściwości Nagłówki kolumn wprowadź rozdzielaną średnikami listę wartości, których chcesz użyć jako nagłówków kolumn.

    Niektóre znaki (w tym większość znaków interpunkcyjnych) nie są dozwolone w nagłówkach kolumn. Jeśli użyjesz tych znaków na liście wartości, program Access podstawi podkreślenie (_) dla każdego takiego znaku.

Składnia SQL dla zapytania krzyżowego

Zapytanie krzyżowe jest wyrażane w języku SQL jako instrukcja TRANSFORM. Instrukcja TRANSFORM ma następującą składnię:

TRANSFORM aggfunctionselectstatement PIVOT pivotfield [IN (wartość1[, wartość2[, ...]])]

Instrukcja TRANSFORM zawiera następujące segmenty:

Segment

Opis

funkcja_agregacji

Funkcja agregująca SQL, która wykonuje operacje na wybranych danych.

instrukcja_select

Instrukcja SELECT.

pole_przestawne

Polu lub wyrażenie które ma posłużyć do utworzenia nagłówków kolumn w zestawie wyników zapytania.

wartość1, wartość2

Stałe wartości używane do tworzenia nagłówków kolumn.

Widok SQL nie ogranicza liczby tabel ani zapytań, których można użyć jako źródeł rekordów dla zapytania krzyżowego. Można jednak zachować prostotę projektu, tworząc zapytanie wybierające zwracające wszystkie dane, które mają zostać użyte w zapytaniu krzyżowym, a następnie używając tego zapytania wybierającego jako źródła rekordów. Więcej informacji o tworzeniu zapytania wybierającego można znaleźć w sekcji Zobacz też.

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

  2. Zamknij okno dialogowe Pokazywanie tabeli.

  3. Na karcie Projektowanie w grupie Widoki kliknij pozycję Widok, a następnie kliknij polecenie Widok SQL.

  4. Na karcie Obiekt SQL wpisz lub wklej poniższy kod języka SQL:

    TRANSFORM 
    SELECT 
    FROM 
    GROUP BY 
    PIVOT 
    ;
    
  5. W pierwszym wierszu po instrukcji TRANSFORM wpisz wyrażenie, za pomocą którego mają być obliczane wartości podsumowania — na przykład Sum([Liczba]).

    Jeśli źródłem rekordów jest więcej niż jedna tabela lub jedno zapytanie, dołącz nazwę tabeli lub zapytania jako część nazwy każdego pola — na przykład Sum([Koszt].[Liczba]).

  6. W drugim wierszu po instrukcji SELECT wpisz listę pól lub wyrażeń pól, których chcesz użyć dla nagłówków wierszy. Rozdziel elementy listy przecinkami — na przykład [Budżet].[ID_działu], [Koszt].[Typ].

  7. W trzecim wierszu po instrukcji FROM wpisz listę tabel lub zapytań, których chcesz użyć jako źródeł rekordów — na przykład Budżet, Koszt.

  8. W czwartym wierszu po instrukcji GROUP BY wpisz tę samą listę pól, która została użyta w klauzuli SELECT w kroku 6.

  9. W piątym wierszu po instrukcji PIVOT wpisz nazwę pola lub wyrażenie, których chcesz użyć dla nagłówków kolumn — na przykład PIVOT [Budżet].[Rok].

Aby dodać kolejność sortowania do zapytania krzyżowego w widoku SQL, należy użyć klauzuli ORDER BY.

  1. Wstaw wiersz między klauzulami GROUP BY i PIVOT.

  2. W nowym wierszu wpisz klauzulę ORDER BY, a po niej dodaj spację.

  3. Wpisz nazwę pola lub wyrażenie, według którego chcesz sortować dane — na przykład ORDER BY [Koszt].[Klasa_kosztu]

    Domyślnie klauzula ORDER BY powoduje sortowanie wartości w kolejności rosnącej. Aby sortować w kolejności malejącej, wpisz ciąg DESC po nazwie pola lub wyrażeniu.

  4. Aby sortować według dodatkowego pola lub wyrażenia, wpisz przecinek, a następnie wpisz nazwę dodatkowego pola lub wyrażenie. Sortowanie jest przeprowadzane w kolejności występowania pól lub wyrażeń w klauzuli ORDER BY.

  • Na końcu klauzuli PIVOT w widoku SQL zapytania krzyżowego wpisz ciąg IN, a po nim rozdzielaną przecinkami listę wartości (ujętą w nawiasy) przeznaczonych do użycia jako nagłówki kolumn. Na przykład IN (2007, 2008, 2009, 2010) tworzy cztery nagłówki kolumn: 2007, 2008, 2009, 2010.

W przypadku określenia stałej wartości, która nie odpowiada wartości pola z pola tabeli przestawnej, ta stała wartość stanie się nagłówkiem pustej kolumny.

  1. Wstaw nowy wiersz po klauzuli FROM w widoku SQL zapytania krzyżowego.

  2. Wpisz klauzulę WHERE, a po niej kryterium pola.

    Aby użyć dodatkowych kryteriów, można zastosować operatory AND i OR w celu rozszerzenia klauzuli WHERE. Można też pogrupować kryteria w zestawy logiczne za pomocą nawiasów.

Czasami zamiast używać wszystkich wartości pola dla nagłówków wierszy lub kolumn, trzeba pogrupować wartości pola w zakresy, a następnie użyć tych zakresów dla nagłówków wierszy lub kolumn. Załóżmy na przykład, że dla nagłówków kolumn jest używane pole „Wiek”. Zamiast używać kolumny dla każdego wieku, można użyć kolumn reprezentujących zakresy wieku.

Za pomocą funkcji IIf w wyrażeniu można utworzyć zakresy, które będą używane dla nagłówków wierszy lub kolumn.

Porada: Jeśli chcesz utworzyć interwały z polem typu Data/godzina, rozważ użycie Kreatora zapytań krzyżowych. Kreator umożliwia grupowanie dat w interwały Rok, Kwartał, Miesiąc, Data lub Data/Godzina . Jeśli żaden z tych interwałów nie jest odpowiedni, należy utworzyć zapytanie krzyżowe w widoku projektu, a następnie utworzyć odpowiednie interwały za pomocą techniki opisanej w tej sekcji.

  1. Otwórz zapytanie krzyżowe w widoku projektu.

  2. W siatce projektu zapytania w wierszu Pole kliknij prawym przyciskiem myszy pustą kolumnę, a następnie w menu skrótów kliknij polecenie Powiększenie.

  3. W polu Powiększenie wpisz alias pola, a po nim dwukropek (:).

  4. Wpisz ciąg IIf().

  5. W nawiasach po instrukcji IIf wpisz wyrażenie porównania definiujące pierwszy zakres wartości pola.

    Załóżmy na przykład, że są tworzone zakresy dla pola Wiek i każdy zakres ma mieć długość dwudziestu lat. Wyrażenie porównania dla pierwszego zakresu będzie następujące: [Wiek]<21.

  6. Wpisz średnik po wyrażeniu porównania, a następnie wpisz nazwę zakresu ujętą w znaki cudzysłowu. Podana nazwa będzie nagłówkiem zapytania krzyżowego dla wartości należących do tego zakresu.

    Na przykład po ciągu [Wiek]<21 wpisz średnik, a następnie wpisz "0–20 lat".

  7. Wpisz średnik po nazwie zakresu (na zewnątrz znaków cudzysłowu), a następnie wykonaj jedną z poniższych czynności:

    • Aby utworzyć następny zakres, wpisz ciąg IIf(), a następnie powtórz kroki 5, 6 i 7.

    • W przypadku ostatniego zakresu wpisz tylko jego nazwę.

      Na przykład kompletne zagnieżdżone wyrażenie IIf, które rozdziela pole Wiek na zakresy o długości dwudziestu lat, może wyglądać następująco (w celu zwiększenia czytelności dodano podziały wierszy):

      IIf([Age]<21,"0-20 years",
       IIf([Age]<41,"21-40 years",
       IIf([Age]<61,"41-60 years",
       IIf([Age]<81,"61-80 years", "80+ years"))))
      

      Uwaga: Podczas wyznaczania wartości wyrażenia program Access przestaje wyznaczać tę wartość zaraz, gdy jedna z instrukcji IIf okaże się prawdziwa. Nie trzeba określać dolnego krańca każdego zakresu, ponieważ każda wartość przypadająca poniżej dolnego krańca danego zakresu zostałaby już określona jako prawdziwa.

  8. W siatce projektu zapytania w wierszu Suma wybierz pozycję Grupuj według.

  9. W wierszu Krzyżowe określ, czy zakresy mają być używane jako nagłówki wierszy lub nagłówki kolumn. Pamiętaj, że możesz określić od jednego do trzech nagłówków wierszy i tylko jeden nagłówek kolumny.

Użytkownik może chcieć, aby zapytanie krzyżowe monitowało o podanie parametru po jego uruchomieniu. Załóżmy na przykład, że jest używanych kilka nagłówków wierszy, z których jeden to Kraj/region. Zamiast zawsze wyświetlać dane dla każdego kraju lub regionu, można skonfigurować zapytanie, aby monitowało o nazwę, a następnie wyświetlało dane zgodnie z wartością podaną przez użytkownika.

Monit o parametr można dodać do dowolnego pola nagłówka wiersza.

Uwaga: Monit o parametr można również dodać do pola nagłówka kolumny, ale nie ograniczy to wyświetlanych kolumn.

  1. Otwórz zapytanie krzyżowe w widoku projektu.

  2. W wierszu Kryteria pola nagłówka wiersza, w przypadku którego chcesz monitować użytkownika o podanie wartości, wpisz tekst pytania ujęty w nawiasy kwadratowe. Tekst pytania będzie wyświetlany jako monit po uruchomieniu zapytania.

    Na przykład w przypadku wpisania w wierszu Kryteria pytania [Jaki kraj lub region?] po uruchomieniu zapytania będzie wyświetlane okno dialogowe zawierające pytanie „Jaki kraj lub region?”, pole wejściowe oraz przycisk OK.

    Porada: Jeśli chcesz, aby parametr był elastyczny, połącz wyrażenie z symbolami wieloznaczowymi przy użyciu operatora Like . Na przykład zamiast kryterium [Jaki kraj lub region?] można użyć jako kryterium Like [Który kraj lub region?] &"*", aby parametr był zgodny z większym zakresem danych wejściowych. Użycie polecenia Like nie zmienia wyglądu monitu o podanie parametru.

  3. Na karcie Projektowanie w grupie Pokazywanie/ukrywanie kliknij przycisk Parametry.

  4. W oknie dialogowym Parametry zapytania w kolumnie Parametry wprowadź ten sam monit o parametr, który został użyty w wierszu Kryteria. Dołącz nawiasy kwadratowe, ale nie dołączaj żadnych połączonych symboli wieloznacznych ani operatora Like.

  5. W kolumnie Typ danych wybierz typ danych dla parametru. Typ danych powinien być zgodny z typem danych pola nagłówka wiersza.

Jeśli pole używane do obliczania wartości posumowania w zapytaniu krzyżowym zawiera wartości null, są one ignorowane przez każdą używaną funkcję agregującą. W przypadku niektórych funkcji agregujących może to wpłynąć na wyniki. Aby na przykład obliczyć średnią, użytkownik dodaje wszystkie wartości i dzieli wynik przez liczbę wartości. Jeśli pole zawiera jakiekolwiek wartości null, nie są one uwzględniane w łącznej liczbie wartości.

W niektórych przypadkach lepiej będzie zamienić wszystkie wartości null na zera, aby te wartości były zliczane w obliczeniach agregujących. Za pomocą funkcji Nz można zamienić wartości null na zera.

Składnia funkcji Nz

Nz ( wariant [, wartość_jeśli_null ] )

Składnia funkcji Nz zawiera następujące argumenty:

Argument

Opis

wariant

Wymagany. Zmienna, której typ danych to Wariant.

wartość_jeśli_null

Opcjonalna (chyba że funkcja została użyta w zapytaniu). Wariant stanowiący wartość zwracaną, jeśli argument wariant ma wartość Null. Argument ten pozwala zwrócić wartość inną niż zero lub inną niż ciąg znaków zerowej długości.

Uwaga: Jeśli funkcja Nz zostanie użyta w wyrażeniu w zapytaniu bez użycia argumentu wartość_jeśli_null, wyniki będą ciągami znaków zerowej długości w polach zawierających wartości Null.

  1. Po otwarciu zapytania w widoku projektu w siatce projektu zapytania kliknij prawym przyciskiem myszy pole Wartość.

  2. W menu skrótów kliknij polecenie Powiększenie.

  3. W polu Powiększenie ujmij nazwę pola lub wyrażenie w nawiasy, a następnie przed nawiasami wpisz ciąg Nz.

  4. Bezpośrednio przy wewnętrznej stronie prawego nawiasu wpisz ciąg ; 0.

    Jeśli na przykład w celu zamiany wartości null na zera użyto funkcji Nz z polem „Utracone godziny”, kompletne wyrażenie będzie wyglądało następująco:

Nz([Hours Lost], 0)

  • Zachowaj prostotę    Zapytania krzyżowe mogą stawać się trudne do odczytania wraz ze wzrostem liczby kombinacji wierszy. Nie należy używać więcej nagłówków wierszy, niż jest potrzebnych.

  • Rozbicie procesu konstruowania zapytań krzyżowych na etapy    Nie należy się ograniczać do używania tylko tabel. Często można zacząć od skonstruowania zapytanie podsumowujące, a następnie użyć tego zapytania jako źródła rekordów dla zapytania krzyżowego.

  • Staranne wybieranie pola nagłówka kolumny    Arkusze danych zapytań krzyżowych zwykle są łatwiejsze do odczytania, gdy liczba nagłówków kolumn pozostaje względnie niewielka. Po zidentyfikowaniu pól, które mają zostać użyte jako nagłówki, należy użyć pola zawierającego jak najmniej różnych wartości do tworzenia nagłówków kolumn. Jeśli na przykład zapytanie oblicza wartość według wieku i płci, należy rozważyć użycie płci zamiast wieku dla nagłówków kolumn, ponieważ płeć ma zazwyczaj mniej możliwych wartości niż wiek.

  • Używanie podzapytania w klauzuli WHERE    W klauzuli WHERE w zapytaniu krzyżowym można użyć podzapytania.

Początek strony

Zobacz też

Tworzenie prostego zapytania wybierającego

Sprzęganie tabel i zapytań

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.