Może się jednak okazać, że trzeba posortować dane nie w kolejności alfabetycznej lub liczbowej, ale według kolejności zdefiniowanej przez użytkownika (nazywanej także kolejnością niestandardową lub logiczną). Na przykład sortowanie dni tygodnia tak, aby poniedziałek był wyświetlany jako pierwszy, jest bardziej sensowne niż sortowanie w kolejności alfabetycznej, gdzie najpierw pojawia się piątek. Dane można sortować w widoku arkusza danych tabeli lub zapytania albo w widoku formularza.
Co chcesz zrobić?
Sortowanie małej, skończonej liczby unikatowych wartości pól
W tej procedurze wpiszesz wyrażenie, które przy uchwaleniu tytułów pracowników użyje funkcji IIf.
Najpierw utwórz tabelę zawierającą trzy pola — Tytuł, Imię i Nazwisko. W polu Tytuł wprowadź następujące wartości dla czterech nowych rekordów:
-
Wewnętrzna sprzedaż
-
Sales Manager
-
Przedstawiciel handlowy
-
Wiceprezes ds. sprzedaży
W polach Imię i Nazwisko w czterech rekordach wprowadź dowolne nazwy.
-
Teraz otwórz tabelę w widoku arkusza danych.
-
Na karcie Narzędzia główne w grupie Sortowanie & filtru kliknij pozycję Zaawansowane, a następnie w menu skrótów kliknij polecenie Filtr/Sortuj zaawansowane.
-
Dodaj do siatki wymagane pola, takie jak Imię, Nazwisko i Tytuł.
-
Kliknij prawym przyciskiem myszy wiersz Pole w pierwszej pustej kolumnie, kliknij polecenie Powiększenie,a następnie wpisz następujące wyrażenie:
IIf ([Tytuł] = "Wiceprezes, Sprzedaż", 1, IIf ([Tytuł] = "Kierownik sprzedaży", 2, IIf ([Tytuł] = "Przedstawiciel handlowy", 3, IIf([Tytuł] = "Wewnętrzne odsyłkisprzedaży", 4, 5))))
Tytuł to nazwa pola zawierającego wartości, które są klasyfikowane. Wartości ujęte w cudzysłów to poszczególne wartości przechowywane w polu. Następująca wartość liczbowa to pozycja przypisana do tej wartości. Poprzednie wyrażenie przypisuje rangę od 1 do 4 do czterech różnych tytułów, a pozostałej pozycji 5. Podczas sortowania tytułom, które nie zostały wymienione w tym wyrażeniu, przypisywana jest ta sama pozycja (5).
-
W wierszu Sortowanie kolumny zawierającej wyrażenie kliknij pozycję Rosnąco.
-
Na karcie Narzędzia główne w grupie Sortowanie & filtru kliknij pozycję Przełącz filtr.
Funkcja IIf zwraca wartość liczbową odpowiadającą wartości w polu Tytuł. Jeśli na przykład pole Tytuł ma wartość Menedżer sprzedaży,przypisana liczba wynosi 2. Jeśli w polu Tytuł nie ma wartości, która nie jest wymieniona jako argument funkcji — na przykład wartość 5. Następnie zapytanie posortuje te liczby w kolejności rosnącej.
Sortowanie dużej liczby unikatowych wartości pól
Jeśli chcesz uporządkować dużą liczbę wartości, lepszym sposobem sortowania danych jest utworzenie tabeli odnośników.
Załóżmy, że tabela Pracownicy odwołuje się do ponad 50 różnych tytułów. Najpierw należy utworzyć tabelę odnośników i przygotować istniejącą tabelę do wyszukiwania nowej tabeli. Następnie należy utworzyć relację między dwiema tabelami i utworzyć zapytanie.
Tworzenie tabeli odnośników i modyfikowanie istniejącej tabeli
-
Utwórz nową tabelę odnośników, w których będą przechowywane tytuły. Nadaj nazwę tabeli tblTitlesi ustaw typy danych wskazane w nawiasach, jak pokazano w poniższej tabeli:
TitleID
(Autonumeruj)Tytuł
(tekst)1
Wiceprezes ds. sprzedaży
2
Sales Manager
3
Przedstawiciel handlowy
4
Wewnętrzna sprzedaż
-
Ustaw pole TitleID jako klucz podstawowy.
-
Zmodyfikuj tabelę Pracownicy, aby przeszukuje tabelę tblTitles.
-
W widoku projektu zmień nazwę pola Tytuł na TitleID.
-
W kolumnie Typ danych zmień typ danych naLiczba.
-
-
Na karcie Ogólne w obszarze Właściwości polazmień rozmiar pola na liczbę całkowitą długą.
-
Zapisz tabelę i zignoruj ostrzeżenie o utracie danych.
-
Przełączanie do widoku arkusza danych.
-
Wypełnij kolumnę Tytuły wartością TitleID odpowiadającą wartości tytułu.
Na przykład w przypadku rekordów, w których wartością Tytuł jest Menedżer sprzedaży, wpisz 2. W przypadku przedstawiciela handlowego wpisz 3.
-
Zapisz i zamknij tabelę.
Relacja między dwiema tabelami
-
Na karcie Narzędzia bazy danych w grupie Relacje kliknij pozycję Relacje.
-
Na karcie Projektowanie w grupie Relacje kliknij pozycję Dodaj tabele (lub Pokaż tabele w programie Access 2013 ).
-
Wybierz pozycję tblTitles i Employees (Pracownicy), a następnie kliknij pozycję Add (Dodaj), aby dodać tę pozycję do okna Relacje. Zamknij okno dialogowe Pokazywanie tabeli.
-
Przeciągnij pole TitleID z tabeli tblTitles do pola TitleID w tabeli Pracownicy.
Zostanie otwarte okno dialogowe Edytowanie relacji.
-
Upewnij się, że nazwy pól wyświetlane w obu kolumnach mają zarówno nazwę TitleID,jak i że w polu Typ relacji jest wyświetlany tekst jeden-do-wielu. W razie potrzeby możesz zmienić nazwy pól.
-
Zaznacz pole wyboru Wymuszaj więzy integralności.
-
Kliknij pozycję Utwórz, aby utworzyć relację.
Okno dialogowe Edytowanie relacji zostanie zamknięte i zapisze zmiany.
-
Zamknij kartę Relacje.
Tworzenie zapytania
-
Na karcie Tworzenie w grupie Zapytania kliknij pozycję Projekt zapytania.
-
W oknie dialogowym Dodawanie tabel(Pokaż tabelę w programie Access 2013 ) kliknij kartę Tabele, kliknij dwukrotnie tabelę Pracownicy, a następnie kliknij dwukrotnie pozycję tblTitles.
-
Dodaj pola Identyfikator pracownika, Nazwisko i Imię z tabeli Pracownicy oraz pole Tytuł z tabeli tblTitles do siatki projektu zapytania.
-
Przełączanie do widoku arkusza danych.