Іноді може знадобитися відсортувати дані не за алфавітом або числовим порядком, а за визначеним користувачем порядком (який також називається настроюваним або логічним порядком). Наприклад, сортування в будні дні таким чином, щоб понеділок з'явився в першу чергу, має більше сенсу, ніж сортування в алфавітному порядку, де п'ятниця з'являється першою. Дані можна сортувати у вікні табличного подання даних таблиці чи запиту або в поданні форми форми.
У цій статті
Сортування невеликої кінцевої кількості унікальних значень полів
У цій процедурі ви напишете вираз, який використовує функцію IIf , щоб оцінити посади працівників.
Спочатку створіть таблицю, яка містить три поля: "Назва", "Ім'я" та "Прізвище". У полі Назва введіть такі значення для чотирьох нових записів:
-
Внутрішній координатор збуту
-
Менеджер із продажу
-
Торговий представник
-
Віце-президент із продажу
У полях Ім'я та Прізвище з чотирьох записів введіть потрібні імена.
-
Тепер відкрийте таблицю у вікні табличного подання даних.
-
На вкладці Основне в групі Сортування & Фільтр натисніть кнопку Додатково , а потім у контекстному меню виберіть пункт Розширений фільтр/сортування .
-
Додайте до сітки потрібні поля, як-от Ім'я, Прізвище та Заголовок.
-
Клацніть правою кнопкою миші рядок Поле в першому пустому стовпці, виберіть пункт Масштаб, а потім введіть такий вираз:
IIf ([Посада] = "Віце-президент, Продаж", 1, IIf ([Назва] = "Менеджер з продажів", 2, IIf ([Посада] = "Торговий представник", 3, IIf ([Назва] = "Внутрішній координатор продажів", 4, 5)))))
Title (Назва) – це ім'я поля, яке містить значення, які ранжируються. Значення, взяті в лапки, – це окремі значення, які зберігаються в полі. Наступне числове значення – це ранг, призначений йому. Попередній вираз призначає ранг від 1 до 4 чотирьом різним заголовкам і призначає ранг 5 усім іншим. Під час виконання сортування заголовки, не згадані в цьому виразі, призначаються одному рангу (5).
-
У рядку Сортування стовпця, який містить вираз, натисніть кнопку За зростанням.
-
На вкладці Основне в групі Сортування & Фільтр натисніть кнопку Переключити фільтр.
Функція IIf повертає числове значення, яке відповідає значенню в полі "Назва". Наприклад, якщо в полі "Назва" використовується значення "Диспетчер продажів", то призначено число 2. Якщо в полі "Назва" є значення, не вказане як аргумент у функції , наприклад координатор округу, йому призначається число 5. Потім запит сортує ці числа за зростанням.
Сортування великої кількості унікальних значень полів
Якщо у вас велика кількість значень для ранжирування, кращий спосіб сортування даних – створити таблицю підстановки.
Припустімо, що таблиця Employees посилається на більш ніж 50 різних назв. Спочатку потрібно створити таблицю підстановки та підготувати наявну таблицю, щоб знайти нову таблицю. Потім зв'яжіть дві таблиці та створіть запит.
Створення таблиці підстановки та змінення наявної таблиці
-
Створіть нову таблицю підстановки, у якій зберігатимуться заголовки. Назвіть таблицю tblTitles і встановіть для полів типи даних, указані в дужках, як показано в таблиці нижче.
TitleID (Ідентифікатор заголовка)
(автонумерація)Назва
(Текст)1
Віце-президент із продажу
2
Менеджер із продажу
3
Торговий представник
4
Внутрішній координатор збуту
-
Установіть поле TitleID як первинний ключ.
-
Змініть таблицю "Працівник", щоб вона засвідчила таблицю tblTitles.
-
У режимі конструктора змініть ім'я поля Title (Заголовок ) на TitleID (Ідентифікатор заголовка).
-
У стовпці Тип даних змініть тип даних на числовий.
-
-
На вкладці Загальні в розділі Властивості поля змініть розмір поля на Довге ціле число.
-
Збережіть таблицю та проігноруйте попередження про втрату даних.
-
Перехід до вікна табличного подання даних.
-
Заповніть стовпець Заголовки значенням TitleID, яке відповідає значенню заголовка.
Наприклад, для записів, у яких значення "Назва" – "Менеджер із продажу", введіть 2. Для торгового представника введіть 3.
-
Збережіть і закрийте таблицю.
Пов'язати дві таблиці
-
На вкладці Знаряддя бази даних у групі Зв’язки натисніть кнопку Зв’язки.
-
На вкладці Конструктор у групі Зв'язки натисніть кнопку Додати таблиці (або Показати таблиці в Access).
-
Виберіть елемент tblTitles і Employees (Працівники) і натисніть кнопку Add (Додати ), щоб додати їх до вікна Relationships (Зв'язки). Закрийте діалогове вікно Відображення таблиці.
-
Перетягніть поле TitleID з таблиці tblTitles до поля TitleID у таблиці Employees.
Відкриється діалогове вікно Редагування зв'язків .
-
Переконайтеся, що імена полів, відображених у двох стовпцях, мають обидва значення TitleID, а також що в полі Тип зв'язку відображається значення "Один-до-багатьох". За потреби можна змінити імена полів.
-
Установіть прапорець Забезпечення цілісності даних.
-
Натисніть кнопку Створити, щоб створити зв’язок.
Діалогове вікно Редагування зв'язків закриється та збереже зміни.
-
Закрийте вкладку Зв'язки .
Створення запиту
-
На вкладці Створити в групі Запити натисніть кнопку Конструктор запитів.
-
У діалоговому вікні Додавання таблиць (відображення таблиці в Access) перейдіть на вкладку Таблиці , двічі клацніть елемент Працівники, а потім двічі клацніть tblTitles.
-
Додайте поля EmployeeID, LastName і FirstName із таблиці "Працівники" та поля "Назва" з таблиці tblTitles до сітки макета запиту.
-
Перехід до вікна табличного подання даних.