Може да има случаи, когато искате да сортирате данни, не по азбучен или числов ред, а по дефиниран от потребителя ред (наричан още потребителски или логически ред). Например сортирането на делничните дни, така че понеделникът да се показва първи има повече смисъл от сортирането по азбучен ред, където първо се показва петъкът. Можете да сортирате данни в изглед на лист с данни на таблица или заявка или в изглед на формуляр на формуляр.
Какво искате да направите?
Сортиране на малък и краен брой уникални стойности на полета
В тази процедура ще напишете израз, който използва функцията IIf , за да класира заглавията на служителите.
Първо, създайте таблица, която съдържа три полета – "Заглавие", "СобственоИме" и "ФамилноИме". В полето Заглавие въведете следните стойности за четири нови записа:
-
Координатор на продажби в inside
-
Sales Manager
-
Търговски представител
-
Вицепрезидент, продажби
В полетата СобственоИме и ФамилноИме на четирите записа въведете желаните имена.
-
Сега отворете таблицата в изглед на лист с данни.
-
В раздела Начало , в групата Сортиране & филтър щракнете върху Разширени и след това щракнете върху Разширен филтър/сортиране в контекстното меню.
-
Добавете полетата, които искате, например "СобственоИме", "ФамилноИме" и "Заглавие", към мрежата.
-
Щракнете с десния бутон върху реда Поле в първата празна колона, щракнете върху Мащабиране и след това въведете следния израз:
IIf ([Длъжност] = "Вицепрезидент, Продажби"; 1, IIf ([Длъжност] = "Мениджър продажби", 2, IIf ([Длъжност] = "Търговски представител"; 3, IIf ([Длъжност] = "Координатор на вътрешни продажби", 4, 5))))
Заглавие е името на полето, съдържащо стойностите, които се подреждат. Стойностите, оградени в кавички, са отделните стойности, съхранени в полето. Числовата стойност, която следва, е рангът, присвоен на нея. Предишният израз присвоява рангове от 1 до 4 до четири различни заглавия и присвоява ранг 5 на всички останали. Когато извършвате сортирането, на заглавията, които не са споменати в този израз, се присвоява един и същ ранг (5).
-
В реда Сортиране за колоната, съдържаща израза, щракнете върху Възходящо.
-
В раздела Начало, в групата Сортиране & филтър щракнете върху Превключване на филтър.
Функцията IIf връща числовата стойност, която съответства на стойността в полето "Заглавие". Ако например стойността в полето Заглавие е "Диспечер на продажбите", присвоеното число е 2. Ако има стойност в полето "Заглавие", която не е посочена като аргумент във функцията – например Областен координатор – тя се присвоява на числото 5. След това заявката сортира тези числа във възходящ ред.
Сортиране на голям брой уникални стойности на полета
Ако имате голям брой стойности за подреждане, по-добрият начин да сортирате данните е чрез създаване на справочна таблица.
Да предположим, че таблицата "Служители" препраща към повече от 50 различни заглавия. Ще трябва първо да създадете справочна таблица и да подготвите съществуващата таблица, за да търсите новата таблица. След това свържете двете таблици и създайте заявка.
Създаване на таблица за справки и модифициране на съществуващата таблица
-
Създайте нова таблица за справка, която ще съхранява заглавията. Дайте име на таблицата tblTitles и задайте на полетата типовете данни, посочени в скоби, както е показано в следващата таблица:
ИД на
заглавие(Автономериране)Заглавие
(Текст)1
Вицепрезидент, продажби
2
Sales Manager
3
Търговски представител
4
Координатор на продажби в inside
-
Задайте полето TitleID като първичен ключ.
-
Променете таблицата Служител, така че да търси таблицата tblTitles.
-
В изглед за проектиране променете името на полето Заглавен на TitleID.
-
В колоната Тип на данните променете Типа на данните на Число.
-
-
В раздела Общи , под Свойства на полето променете Размер на полето на Дълго цяло число.
-
Запишете таблицата и игнорирайте предупреждението за загуба на данни.
-
Превключване към изглед на лист с данни.
-
Попълнете колоната Заглавия със стойността за TitleID, която съответства на стойността на заглавието.
Например за записите, където стойността на заглавието е "Мениджър продажби", въведете 2. За Търговски представител въведете 3.
-
Запишете и затворете таблицата.
Релиране на двете таблици
-
В раздела Инструменти за бази данни, в групата Релации щракнете върху Релации.
-
В раздела Проектиране , в групата Релации щракнете върху Добавяне на таблици (или Показване на таблици в Access).
-
Изберете tblTitles и Employees и щракнете върху Добави , за да ги добавите към прозореца "Релации". Затворете диалоговия прозорец Показване на таблица.
-
Плъзнете полето TitleID от таблицата tblTitles в полето TitleID в таблицата Employees.
Отваря се диалоговият прозорец Редактиране на релации .
-
Уверете се, че имената на полетата, показани в двете колони, са и TitleID, и че полето Тип релация показва "Един към много". Можете да промените имената на полетата, ако е необходимо.
-
Поставете отметка в квадратчето Поддържай целостта на данните.
-
Щракнете върху Създай, за да създадете релацията.
Диалоговият прозорец Редактиране на релации се затваря и записва промените.
-
Затворете раздела Релации .
Създаване на заявка
-
В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
-
В диалоговия прозорец Добавяне на таблици (Показване на таблица в Access) щракнете върху раздела Таблици , щракнете двукратно върху Служители и след това щракнете двукратно върху tblTitles.
-
Добавете полетата EmployeeID, LastName и FirstName от таблицата Employees и полето Title от таблицата tblTitles към мрежата за проектиране на заявки.
-
Превключване към изглед на лист с данни.