Что такое пользовательский порядок сортировки
Перейти к содержимому

Что такое пользовательский порядок сортировки

  • автор:

Сортировка записей в пользовательском порядке

Иногда требуется отсортировать данные не по алфавиту или по числу, а по пользовательскому порядку (настраиваемый или логический порядок). Например, можно отсортировать рабочие дни так, чтобы первым был понедельник, чем сортировка в алфавитном порядке, когда пятница отображается первой. Вы можете сортировать данные в представлении таблицы или запроса либо в представлении формы.

В этой статье

  • Сортировка небольшого конечного количества уникальных значений полей
  • Сортировка большого количества уникальных значений полей

Сортировка небольшого конечного количества уникальных значений полей

В этой процедуре вы напишем выражение, в качестве ранжируете названия сотрудников с помощью функции IIf.

Сначала создайте таблицу, которая содержит три поля: «Название», «Имя» и «Фамилия». В поле «Название» введите следующие значения для четырех новых записей:

  • Inside Sales Разуваев
  • Менеджер по продажам
  • Sales Representative
  • Вице-президент, отдел продаж

В полях «Имя» и «Фамилия» из четырех записей введите нужные имена.

  1. Теперь откройте таблицу в представлении таблицы.
  2. На вкладке Главная в группе Сортировка и фильтр нажмите кнопку Дополнительно, а затем в контекстном меню выберите команду Расширенный фильтр.
  3. Добавьте в сетку нужные поля, такие как «Имя», «Фамилия» и «Название».
  4. Щелкните правой кнопкой мыши строку поля в первом пустом столбце, выберите «Масштаб»и введите следующее выражение: IIf([Title] = «Vice President, Sales», 1,IIf([Title] = «Sales Manager», 2,IIf([Title] = «Sales Representative», 3,IIf([Title] = «Inside Sales Вуалю», 4, 5)))) Название — это имя поля, которое содержит ранжировали значения. Значения, заключенные в кавычках, являются отдельными значениями, храниммими в поле. После него будет ранж, присвоенный ему. Предыдущее выражение присваивает ранг от 1 до 4 четырем разным названиям и присваивает 5 всем остальным. При выполнении сортировки названия, не упомянутые в этом выражении, имеют одинаковый ранг (5).
  5. В строке «Сортировка» для столбца, содержащего выражение, щелкните «По возрастанию».
  6. на вкладке Главная в группе Сортировка и фильтр нажмите кнопку Переключить фильтр. Функция IIf возвращает числвое значение, соответствующее значению в поле «Название». Например, если в поле «Название» имеется значение «Диспетчерпродаж», назначенное число будет 2. Если поле «Название» не указано в качестве аргумента функции (например, «Окружная пособка»), ему назначено число 5. Затем запрос отсортет эти числа по возрастанию.

Сортировка большого количества уникальных значений полей

Если нужно ранжировать большое количество значений, лучший способ отсортировать данные — создать таблицу подпапок.

Предположим, что таблица «Сотрудники» ссылается на более чем 50 разных заголовков. Сначала потребуется создать таблицу подготовить существующую таблицу для ее подготовки. Затем вы связываете две таблицы и создаете запрос.

Создание таблицы подпапок и изменение существующей таблицы

  1. Создайте новую таблицу подытов, в которую будут храниться заголовки. Привязйте таблицу ктипу данных и задайте для полей тип данных, указанный в скобки, как показано в следующей таблице:
TitleID
(AutoNumber)
Заголовок
(текст)
1 Вице-президент, отдел продаж
2 Менеджер по продажам
3 Sales Representative
4 Inside Sales Разуваев
  • В конструкторе измените имя поля «Название» на «ИД Заголовка».
  • В столбце «Тип данных» измените тип данных на число.

Связать две таблицы

  1. На вкладке Работа с базами данных в группе Отношения нажмите кнопку Схема данных.
  2. На вкладке «Конструктор» в группе «Отношения» нажмите кнопку «Добавить таблицы» (или «Показать таблицы в Access 2013 «).
  3. Выберите tblTitles и Employeesи нажмите кнопку «Добавить», чтобы добавить их в окно «Отношения». Закройте диалоговое окно Добавление таблицы.
  4. Перетащите поле TitleID из таблицы tblTitles на поле TitleID в таблице Employees. Откроется диалоговое окно «Изменение связей».
  5. Убедитесь, что имена полей, которые отображаются в двух столбцах, являются titleIDи что в поле «Тип связи» отображается тип «один-к-многим». При необходимости вы можете изменить имена полей.
  6. Установите флажок Обеспечение целостности данных.
  7. Нажмите кнопку Создать для создания связи. Диалоговое окно «Изменение связей» закроется и сохранит изменения.
  8. Закроем вкладку «Отношения».

Создание запроса

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
  2. В диалоговом окне «Добавление таблиц ( добавление таблицы в Access 2013 ) перейдите на вкладку «Таблицы», дважды щелкните «Сотрудники», а затем дважды щелкните tblTitles.
  3. Добавьте поля «ИД сотрудника», «Фамилия» и «Имя» из таблицы «Сотрудники» и поле «Название» из таблицы tblTitles в таблицу конструктора запросов.
  4. Переключение в представление таблицы.

6.2. Пользовательский порядок сортировки

При сортировке списка по ключам пользовательский порядок сортировки устанавливается только для первого уровня (ключа). Предварительно необходимо составить список в команде меню Сервис, Параметры, вкладка Списки.

В параметрах сортировки могут также устанавливаться опции учета регистра букв (для расположения ранее прописных символов) и направление сортировки для перегруппировки столбцов.

Создайте пользовательский список:

1. В меню Сервис выберите команду Параметры, в появившемся окне откройте вкладку Списки.

2. В поле Элементы списка через запятую введите пользовательский список: Sony, Panasonic, LG, Viewsonic, Samsung.

3. Щелкните мышью кнопку Добавить, а затем кнопку Ok.

Выполните сортировку мониторов в пользовательском порядке, фирм — по возрастанию:

1. На листе «Компьютеры» установите курсор в любую ячейку списка.

2. В меню Данные выберите команду Сортировка.

3. В секции Сортировать по установите первый ключ сортировки, выбрав из списка имя поля «Монитор». Далее в секции Затем по установите второй ключ сортировки.

4. Щелкните по кнопке Параметры. В появившемся окне из списка выберите созданный ранее пользовательский список и щелкните по кнопке Ok.

5. Щелкните мышью по кнопке Ok.

6.3. Фильтрация списка командой Автофильтр

Фильтрация данных позволяет показать только записи с нужной информацией. Для поиска и отбора используются критерии, которые могут быть:

простыми (совпадающими со значением поля);

сравнивающими с использованием знаков отношений , =, <> и логических операций И, ИЛИ;

вычисляемыми, когда в условии записана формула (например, =F5/C5>=1000).

Команда Автофильтр используется для отбора информации по простым или одиночным сравнивающим критериям. Критерий отбора может содержать арифметические знаки отношений >, =, (не равно), а также логические операции И, ИЛИ. Можно использовать знаки подстановки: * (любое количество символов), ? (любой один символ).

Будут найдены данные

Совпадающие со словом «Москва»

Что такое пользовательский порядок сортировки

На этом шаге мы рассмотрим особый порядок сортировки.

Сортировка чисел или упорядочение текстовых строк чаще всего выполняется по алфавиту. Однако в некоторых случаях бывает необходимо отсортировать данные особым образом. Например, если данные представляют собой названия месяцев, то желательно, чтобы они располагались не в алфавитном порядке, а в порядке возрастания номеров месяцев. Для выполнения такой сортировки можно использовать диалоговое окно Параметры сортировки , выбрав список, в соответствии с которым будет проводиться сортировка, из раскрывающегося списка Сортировка по первому ключу . По умолчанию в Excel определены четыре стандартных списка. Кроме того, пользователь может также определить собственные списки. Вот перечень стандартных списков в Excel .

  • Сокращенные названия дней недели: Пн, Вт, Ср, Чт, Пт, Сб, Вс.
  • Полные названия дней недели: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье.
  • Сокращенные названия месяцев: Янв, Фев, Мар, Апр, Май, Июн, Июл, Авг, Сен, Окт, Ноя, Дек.
  • Полные названия месяцев: Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь.

Обратите внимание, что после сокращенных названий дней недели и месяцев нет точек. Если Вы будете использовать точки после этих сокращений, то они не будут опознаны и, следовательно, не будут верно отсортированы.

Иногда необходимо создать свой список. Например, у Вашей компании есть несколько магазинов, и Вам необходимо, чтобы они были размещены в определенном порядке (не алфавитном). Если Вы создадите пользовательский список, операция сортировки будет помещать элементы в том порядке, в котором они указаны в списке. Отсортировать данные по списку пользователя можно с помощью команды Данные | Сортировка . Чтобы указать, по какому именно списку отсортировать, щелкните на кнопке Параметры .

Для создания пользовательского списка используйте вкладку Списки диалогового окна Параметры , показанного на рисунке 1.

Рис.1. Вкладка Списки диалогового окна Параметры

Выберите опцию Новый список и введите все элементы по порядку в окно Элементы списка . Кроме того, можете импортировать список из диапазона ячеек с помощью кнопки Импорт .

Пользовательские списки учитываются также при работе в режиме автозаполнения ячеек. Например, если Вы вводите первый элемент пользовательского списка, а затем применяете средство Автозаполнение , Excel автоматически заполнит оставшиеся элементы.

На следующем шаге мы рассмотрим создание промежуточных итогов.

Сортировка записей по текстовым, числным значениям или значениям дат

Сортировка данных может играть важную роль в том, чтобы отчет или форма были эффективными и простыми в использовании. Например, каталог товаров, в который перечисляются товары в алфавитном порядке или на основе цены за единицу, гораздо проще использовать, чем каталог, в который перечислены товары в случайном порядке.

В этой теме объясняется, как сортировать записи при просмотре и разработке таблицы, запроса, формы или отчета.

В этом разделе.

  • Введение
  • Сортировка записей в представлении
  • Удаление порядка сортировки
  • Сохранение порядка сортировки с объектом

Введение

Вы можете отсортировать записи в таблице, запросе, форме или отчете по одному или несколько полям. При минимальной разработке вы и пользователи формы или отчета можете выбрать сортировку записей.

Например, при разработке отчета каталога товаров можно выбрать упорядочение товаров в алфавитном порядке. Порядок, который выбирается при разработке объекта, становится порядком сортировки по умолчанию. Однако при просмотре запроса или отчета каждый пользователь может сортировать записи нужным образом, например по цене или поставщику.

Примечание: Представление можно отсортировать по любому полю, которое отображается в нем, за исключением полей, содержащих вложения или объекты OLE.

Вы можете настроить результаты, отсортировать записи по более чем одному полю. При сортировке по нескольким полям важно определить, какие поля называются внешними и внутренними полями сортировки. Чтобы получить нужные результаты, необходимо назначить соответствующие поля внутренними и внешними полями сортировки. Предположим, вам нужно отсортировать таблицу «Контакты» по полям «Имя» и «Фамилия». Если нужно отсортировать имена по фамилиям от А до Я (от Я до А), имя — это внутреннее поле. С другой стороны, если фамилии нужно отсортировать по каждому имени, фамилия — это внутреннее поле. Другими образом, записи сначала сортировать (самый внешний) по полю «Фамилия», а затем — на самом внутреннем (самый внутренний) — в поле «Имя».

1. Фамилия — это внешнее поле, а firstName — внутреннее

2. FirstName — это внешнее поле, а фамилия — внутреннее

При применении порядка сортировки следует помнить о том, что числа, текст и специальные знаки сортироваться в соответствии с выбранным языком и региональными настройками компьютера. Если язык и региональные параметры, заданные в диалоговом окне «Параметры Access», не соответствуют настройкам, заданным на панели управления, итоговые параметров сортировки могут не соответствовать ожиданиям.

Просмотр или изменение языка или региона по умолчанию

Чтобы просмотреть языковые параметры в Access, нажмите кнопку «Параметры>». На вкладке «Общие»в области«Создание баз данных» просмотрите или измените значение в списке «Порядок сортировки новой базы данных». Установите параметр «Общий», если вы хотите использовать один из таких языков: afrikaans, Arabic, Arabic, Basque (Basque), Bulgarian, Catalan, Dutch, Dutch, English, Faeroese, Farsi, German-Standard, Greek, Hebrew, Hindi, Indonesian, Italian, Malay, Portuguese, Russian, Serbian, Swahili, and Urdu. Обратите внимание, что этот параметр влияет только на новые базы данных. Чтобы применить этот параметр к существующей базе данных, сначала сжатие базы данных.

Чтобы сжатие базы данных:

  • Нажмите кнопку «Работа с базами данных>сжатие и восстановление базы данных.

Сведения о региональных параметрах компьютера см. в региональных параметрах Windows, чтобы изменить внешний вид некоторых типов данных.

Сортировка записей в представлении

Примечание: В Access сортировка отчета немного отличается от сортировки таблицы, запроса или формы.

Сортировка отчета

  1. Откройте отчет в конструкторе или макете.
  2. Если области «Группировка, сортировка и итоги» не открыты, в группе «Группировка & Итоги» (на вкладке «Формат» в представлении «Макет» или на вкладке «Конструктор» в конструкторе) щелкните «Группировка & Сортировка».
  3. Выполните одно из следующих действий:
    • Если в отчете нет ни группировки, ни сортировки, нажмите кнопку «Добавить группу» в области «Группировка, сортировка и итоги», а затем выберите внешнее поле сортировки. Щелкните вторую стрелку вниз и выберите порядок значений. Щелкните «Еще»,затем щелкните стрелку справа от раздела с заглавным и выберите раздел без раздела. Повторите эти действия для каждого поля сортировки, при этом внутреннее поле сортировки появится внизу.
    • Если отчет уже сгруппировать или отсортировать, просмотрите существующие уровни и внимательно внося изменения. Чтобы изменить поле, используйте первую стрелку вниз. Чтобы изменить порядок, щелкните вторую стрелку вниз. Чтобы изменению уровня группировки на уровень сортировки, измените в разделе с заглавными заглавными словами раздел без раздела.

Совет: Чтобы отсортировать отчет по одному полю, откройте отчет в представлении макета, щелкните его правой кнопкой мыши и выберите команду сортировки. Например, если выбрано поле «Возраст», выберите «Сортировка от минимального к наибольшему» или «Сортировка от наибольшего к минимальному». Но если отчет сгруппировать или отсортировать по нескольким полям, необходимо использовать области «Группировка, сортировка и итоги».

Сортировка таблицы, запроса или формы

  1. Определите поля, по которым нужно отсортировать поля. Чтобы отсортировать по двум или более полям, определите, какие поля будут явнее всего и как внутренние и внешние поля сортировки.
  2. Щелкните правой кнопкой мыши в любом месте столбца или управления, соответствующего внутреннему полю, и выберите одну из команд сортировки. Команды зависят от типа данных в выбранном поле.

Примечание: При сортировке данных по полю с типом данных «Да/Нет» значение «Да», «Истина» или «Включительно» считается «Выбрано», а значения «Нет», «Ложь» и «Отключено» считаются «Очищенными». По умолчанию поля этого типа отображаются как квадраты, но их можно настроить так, чтобы они отображались как текстовые поля или поля со полем со множеством полей. Если изменить тип поля на текстовое поле или поле со полем, оно будет сортироваться как «Выбрано» или «Очищено».

Примечание: Если текстовое поле содержит строки нулевой и нулевой длины, при сортировке по возрастанию сначала вы перечислены записи с нулевыми значениями, затем записи с нулевыми строками, а затем записи с непанными значениями.

  • Значения, которые начинаются с пробела, будут отображаться перед буквами и цифрами.
  • За значениями, заключенными в кавычках, начинаются пробелы, но предшествуют букво-числимым значениям.
  • Значения, начинающегося со знака «минус»(-),предшествуют значениям, которые начинаются со знака «плюс»(+).
  • Порядок определяется кодами всех остальных символов ASCII. Например, код для символа рубля ($) составляет 36, а код для знака равно (=) — 61, поэтому значения, начина которые начинаются с $, будут отображаться перед значениями, которые начинаются со знака =. Чтобы переопредить этот порядок, можно проигнорировать первый знак всех значений в поле. Этот метод работает, если значения в поле всегда начинаются с одного специального знака, например знака «минус» или с одинаковым количеством специальных знаков, так что вы знаете, сколько знаков нужно игнорировать. Пошаговую информацию о том, как сортировать части значений, см. в статье «Сортировка записей по частичным значениям в поле». Если количество символов, которые нужно игнорировать, различается, можно задать настраиваемый порядок сортировки. Пошаговую информацию см. в статье «Сортировка записей в пользовательском порядке».

Помните, что порядок сортировки нельзя удалить только из одного поля. Чтобы удалить сортировку из всех полей сортировки, на вкладке «Главная» в группе «Фильтр & сортировки» нажмите кнопку «Очистить все сортировки» и примените нужные порядки сортировки.

Дополнительные сценарии сортировки

При использовании команд сортировки для определения порядка записей используются тип данных поля и полные значения каждого поля. Но что делать, если вам нужно отсортировать текстовые значения, например «Понедельник», «Вторник» и так далее, в пользовательском порядке, а не в алфавитном порядке? Или вы хотите отсортировать текстовое поле с IP-адресами? Если ваши потребности в сортировке не выполнены командами сортировки, см. следующие разделы:

  • Сортировка записей по частичным значениям поля Хотите отсортировать записи по первым или нескольким знакам в поле? Если вам удобно писать простые выражения, см. этот раздел, в который можно извлечь частичные значения с помощью выражений.
  • Сортировка записей с учетом регистра Access не будет учитывать дело с текстовыми значениями. Например, значения кузнецов и Климов будут рассматриваться точно так же, и вы не сможете контролировать то, какое из них будет отображаться первым. Если вы хотите отсортировать данные счувствительными к делу данными, см. этот раздел.
  • Сортировка записей по числовым значениям, хранящимся в текстовом поле Вы видите записи, отсортсортировали по отдельным цифрам, а не по числовому значению? Например, если записи со значениями 11 и 121 отображаются перед записями со значениями 2 или 25, см. эту статью.
  • Сортировка записей в пользовательском порядке Если вы хотите отсортировать определенные значения, например названия дней (понедельник, вторник и так далее) или названия сотрудников (руководитель, директор) в определенном порядке, см. эту статью.
  • Сортировка IP-адресов Поле, которое содержит IP-адреса, содержит несколько чисел и периодов(.), поэтому простая сортировка текста или числового типа не будет работать для IP-адресов. В этой теме вы узнаете, как сортировать IP-адреса.

Удаление порядка сортировки

  • Чтобы удалить порядок сортировки из таблицы, запроса или формы, на вкладке «Главная» в группе «Фильтр & сортировки» нажмите кнопку «Очистить все сортировки». При этом порядок сортировки будет отсортироваться для всех полей в представлении.
  • Чтобы удалить порядок сортировки из отчета, откройте области «Группировка, сортировка и итоги», нажав кнопку «Сортировка группы & в группе «Группировка и итоги» (на вкладке «Формат» в конструкторе на вкладке «Конструктор»). Затем выберите уровень сортировки, который нужно удалить, и нажмите кнопку «Удалить». Запись, соответствующая полю сортировки, начинается со слова «Сортировать по». Не удаляйте записи, начинающиесяс группировки, так как это изменит оформление отчета.

Сохранение порядка сортировки с объектом

Порядок сортировки, примененный последним, автоматически сохраняются вместе с таблицей, запросом, формой или отчетом. Если вы хотите, чтобы объект автоматически применялся при следующем его открытие, убедитесь, что для свойства OrderByOnLoad объекта установлено свойство Yes(Да).

Так как порядок сортировки, применяемой последним, время от времени будет меняться, порядок сортировки можно определить постоянно (или по умолчанию). Вы можете задать порядок сортировки по умолчанию для запроса или отчета. Обратите внимание, что порядок сортировки по умолчанию не перезаписывается текущим или сохраненным порядком сортировки, но действует только в том случае, если текущий или последний сохраненный порядок сортировки удален из представления.

  • Чтобы определить порядок сортировки по умолчанию для запроса, откройте его в режиме конструктора. Добавьте поля сортировки на конструктор и в строке «Сортировка» укажите нужный порядок сортировки.
  • Чтобы определить порядок сортировки по умолчанию для отчета, используйте области «Группировка, сортировка и итоги» в режиме макета или конструктора. Пошаговую информацию см. в разделе «Сортировка отчета».

Чтобы отсортировать записи по умолчанию, на вкладке «Главная» в группе «Сортировка & фильтра» нажмите кнопку «Очистить все сортировки». При этом из представления удаляется текущий или последний сохраненный фильтр, что позволяет просматривать записи в стандартом порядке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *