Сортировка и группировка в access. Создание отчета

В этом уроке поговорим на тему «Фильтрация, сортировка и поиск данных в Microsoft Access».

Фильтрация, сортировка и поиск данных в Microsoft Access

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

Нажмите кнопку «Дополнительно» и выберите в открывшемся меню команду «Скрыть столбцы».


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

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

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

В списке значений поля уберите значения, которые не должны отображаться путем снятия галочек напротив каждого из значений. Для применения фильтра нажмите кнопку «ОК».

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

Для временного снятия фильтра с выделенного поля нажмите кнопку «Удалить фильтр».

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

Для окончательной очистки фильтра щелкните по стрелке в заголовке столбца таблицы и выберите команду «Снять фильтр с Сумма».

Чтобы задать условие для фильтра в виде логического выражения, вызовите снова окно настройки сортировки и фильтров.

Список доступных логических операторов будет зависеть от типа данных поля. Раскройте список «Числовые фильтры». Выберите в списке фильтр «Больше…» и, задав величину для сравнения, нажмите кнопку «ОК».

Теперь на экране будут отражаться только записи, содержащие в поле «Сумма» значения не менее двадцати. К отдельному полю можно применить только один простой фильтр, однако для каждого поля можно определить свой. В этом случае отображаться будут только записи, удовлетворяющие одновременно всем условиям. Более сложные фильтры, которые могут включать значения нескольких полей одновременно, задаются с помощью команды «Параметры расширенного фильтра».

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

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

Для отмены сортировки по всем полям сразу нажмите кнопку «Очистить все сортировки».

В Microsoft Office Access записи сортируются по возрастанию или по убыванию без учета регистра. Порядок сортировки чисел, текста и специальных знаков зависит от выбранных параметров языка и стандартов для данного компьютера. При сортировке по нескольким полям сразу результат будет зависеть от порядка применения режима сортировки к этим полям. В случае, когда надо найти одну или несколько записей по фрагменту текста, входящему в одно из их полей, можно воспользоваться стандартным средством поиска Microsoft Office Access. Нажмите кнопку «Найти» на странице «ленты» «Главная».

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

Для перехода на следующую найденную запись нажмите кнопку «Найти далее».

После завершения поиска закройте окно.

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

Другой способ выполнения этой операции: щелкнуть правой кнопкой мыши по любой строке нужного столбца и выбрать из контекстного меню (рис. 2.55) соответствующую команду.

Таким образом можно упорядочить записи по любому столбцу таблицы. Ограничения существуют только на тип данных, которые можно упорядочивать - нельзя сортировать значения полей типа MEMO, гиперссылки или объекты OLE.

Чтобы правильно применять сортировку, нужно знать несколько простых правил.

  • При сортировке в возрастающем порядке записи, содержащие пустые поля (с пустыми значениями), указываются в списке первыми.
  • Числа, находящиеся в текстовых полях, сортируются как строки символов, а не как числовые значения. Если нужно отсортировать их в числовом порядке, все текстовые строки должны содержать одинаковое количество символов. Если строка содержит меньшее количество символов, то сначала нужно вставить незначащие нули.
  • При сохранении таблицы сохраняется и порядок ее сортировки.

Рис. 2.55. Контекстное меню в режиме таблицы

Замечание

Порядок сортировки зависит от настроек языка, определенных в диалоговом окне Параметры (Options) при создании базы данных. Чтобы изменить эту настройку, необходимо выбрать в меню Сервис (Tools) команду Параметры (Options), открыть вкладку Общие (General) и в поле Порядок сортировки базы данных (New database sort order) выбрать нужный язык (см. гл. 14).

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

Если вы изменили порядок сортировки записей в таблице, а потом решили ее закрыть, Access запрашивает, хотите ли вы сохранить изменения макета. Если вы ответите Да (Yes), то новый порядок сортировки сохранится и воспроизведется, когда таблица будет открыта в следующий раз. Для того чтобы вернуться к первоначальному порядку сортировки (по значению ключевого поля), необходимо выполнить команду меню Записи, Удалить фильтр (Records, Remove Filter/Sort).

Иногда нужно выполнить сортировку по значению нескольких полей. Для этого переместите сначала сортируемые столбцы таким образом, чтобы они оказались, во-первых, рядом, а во-вторых, с учетом приоритетов, - приоритеты устанавливаются слева направо, т. к. первыми будут сортироваться значения в крайнем левом столбце. После этого нужно выделить все столбцы и нажать, соответственно, кнопку Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending) на панели инструментов.

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

Из этой статьи вы узнаете, как сортировать и фильтровать записи.

О сортировке и фильтрации

По сути, сортировка и фильтрация - это инструменты, которые позволяют организовать ваши данные. Когда вы сортируете данные, вы приводите их в порядок. Фильтрация данных позволяет скрыть неважные данные и сосредоточиться только на данных, которые вас интересуют.

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

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

  • Заказы можно сортировать по дате заказа или по фамилии клиентов, разместивших заказы.
  • Клиенты могут сортироваться по имени или по городу или почтовому индексу, где клиенты живут.
  • Продукты можно сортировать по названию, категории (пироги, пирожные, кексы и т.д.) или цене.

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

В нашем примере мы будем выполнять сортировку по таблице. Однако вы можете сортировать записи в любом объекте Access. Процедура в основном такая же.

Для сортировки записей:

  1. Выберите поле в ячейке, которую вы хотите сортировать. В этом примере мы сортируем по фамилиям клиентов.
  2. Перейдите на вкладку « Главная » на ленте и найдите группу « Сортировка и фильтр ».
  3. Отсоедините поле, выбрав команду « Восходящий» или « Убывание» .
  • Выберите «Восходящий» для сортировки текста от A до Z или для сортировки чисел от наименьшего до самого большого. Мы выберем это в нашем примере, потому что мы хотим, чтобы последние имена были в порядке A-to-Z.
  • Выберите «Спуск», чтобы отсортировать текст от Z до A или отсортировать номера от самых больших до самых маленьких.

Теперь таблица будет отсортирована по выбранному полю.

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

Фильтрация записей

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

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

В наших примерах и пояснениях мы будем применять фильтры к таблицам. Однако вы можете применять фильтры к любому объекту Access. Процедура в основном такая же.

Чтобы создать простой фильтр:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы будем фильтровать по городу, потому что мы хотим увидеть список клиентов, которые живут в определенном городе.
  2. Появится раскрывающееся меню с контрольным списком. В отфильтрованные результаты будут включены только проверенные элементы. Используйте следующие параметры, чтобы определить, какие элементы будут включены в ваш фильтр:
  • Выберите и снимите флажки по одному, установив флажки. Здесь мы отменим выбор всех параметров, кроме Cary .
  • Нажмите «Выбрать все», чтобы включить каждый элемент в фильтр. При нажатии кнопки «Выбрать все» второй раз снимите все элементы.
  • Нажмите «Пусто», чтобы настроить фильтр для поиска только записей без данных в выбранном поле.

В таблице наших клиентов теперь отображаются только клиенты, которые живут в Кэри.

Переключение фильтра позволяет включать и выключать его. Чтобы просмотреть записи без фильтра, просто нажмите кнопку Toggle Filter . Чтобы восстановить фильтр, щелкните его еще раз.

Создание фильтра из выделения

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

Чтобы создать фильтр из выделения:

  1. Выберите ячейку или данные, с которыми вы хотите создать фильтр. Мы хотим увидеть список всех продуктов, содержащих слово « шоколад» в их именах, поэтому в поле «Название продукта» мы выберем слово «шоколад».
  2. Выберите вкладку « Главная » на ленте и найдите группу «Сортировка и фильтр».
  3. Нажмите стрелку раскрывающегося списка «Выбор».
  4. Выберите тип фильтра, который вы хотите настроить:
  • Содержит только записи с ячейками, которые содержат выбранные данные. Мы выберем это, потому что хотим видеть записи, содержащие слово « шоколад» в любом месте названия.
  • Не содержит все записи, кроме тех, которые содержат ячейки, содержащие выбранные данные.
  • Ends With включает только записи, данные которых для выбранного поля заканчиваются поисковым термином.
  • Не заканчивается. Включает все записи, кроме тех, чьи данные для выбранного поля заканчиваются поисковым термином.

Фильтр будет применен. В нашей таблице теперь отображаются только продукты со словом шоколад в их именах.

Создание фильтра из поискового запроса

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

Фильтрация текста по поисковому запросу

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

  • Равные значения, которые включают только записи с данными, которые идентичны выбранным данным
  • Не равен, что включает все записи, кроме данных, которые идентичны выбору
  • Начинается с, который включает только записи, данные которых для выбранного поля начинаются с поискового запроса
  • Не начинается с, включая все записи, кроме тех, чьи данные для выбранного поля начинаются с поискового запроса

Чтобы фильтровать текст по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице заказов, чтобы отображать только те, которые содержат заметки с определенной информацией, поэтому мы нажмем стрелку в поле « Примечания» .
  2. В раскрывающемся меню наведите указатель мыши на слова Text Filters . В появившемся списке выберите способ, которым фильтр должен соответствовать введенному вами термину. В этом примере мы хотим просмотреть только записи, чьи заметки указывают, что заказ был размещен для стороны. Мы выберем Contains, чтобы мы могли искать записи, содержащие слово party.
  3. Появится диалоговое окно «Пользовательский фильтр». Введите слово, которое вы хотите использовать в своем фильтре.
  4. Нажмите «ОК» . Фильтр будет применен.

Фильтрация чисел с поисковым термином

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

  • Больше, чем включать только записи с числами в этом поле, которые больше или равны числу, которое вы вводите
  • Меньше, чем включать только записи с номерами в этом поле, которые меньше или равно числу, которое вы вводите
  • Между включениями записей с цифрами, которые попадают в определенный диапазон

Чтобы фильтровать числа по поисковому запросу:

  1. Нажмите стрелку раскрывающегося списка рядом с полем, в которое вы хотите отфильтровать. Мы хотим отфильтровать записи в нашей таблице пунктов меню по цене, поэтому мы нажмем стрелку в поле « Цена» .
  2. В раскрывающемся меню наведите указатель мыши на слова Number Filters . В появившемся списке выберите способ, которым фильтр будет соответствовать вашему поисковому запросу. В этом примере мы хотим создать фильтр, который покажет нам только недорогие предметы. Мы хотим видеть предметы под определенной ценой, поэтому мы выберем Less Than .
  3. Появится диалоговое окно «Пользовательский фильтр». Введите число или цифры, которые вы хотите использовать в своем фильтре. Мы напечатаем 5, чтобы фильтр показывал нам только пункты меню, стоимость которых не превышает 5 долларов.
  4. Нажмите «ОК» . Фильтр будет применен.

Конкретные типы чисел могут включать в себя другие параметры фильтрации. Например, даты, хранящиеся в числовой форме (mm / dd / yy-eg, 12/01/2010), включают опции для фильтрации по периодам времени.

Теперь определим структуру отчета, задавая условия группировки и сортировки записей. Эти условия задаются в диалоговом окне Сортировка и группировка (Sorting and Grouping), которое появляется при нажатии кнопки с таким же названием на панели инструментов.

Чтобы создать группу, нужно задать поле отчета, по которому будут группироваться записи, и установить значения свойств Заголовок группы (Group Header) и Примечание группы (Group Footer) равными Да (Yes). Первый уровень группировки в нашем примере будет определяться полем "Название Клиента " (Company-Name). Выберите это поле из раскрывающегося списка в первой строке окна Сортировка и группировка (Sorting and Grouping). Поле справа в этой строке, определяющее порядок сортировки, будет по умолчанию иметь значение По возрастанию (Ascending). Установите значения свойств Заголовок группы (Group Header) и Примечание группы (Group Footer) в Да (Yes). После этого в области выделения первой строки (в окне) появится символ группировки, а в отчете будут отображены два раздела: Заголовок группы "Название " (CompanyName Header) и Примечание группы "Название " (CompanyName Footer).

Второй уровень группировки будет организован по полю "КодЗаказа " (OrderlD). Заполните аналогичным образом его свойства в окне Сортировка и группировка (Sorting and Grouping).

Кроме того, что мы задали два уровня группировки для нашего отчета, можно еще определить порядок сортировки в пределах самой внутренней группы. В третьей строке окна Сортировка и группировка (Sorting and Grouping) выберите поле "Марка" (ProductName), чтобы отсортировать товары в заказе по алфавиту. После этого отчет примет вид, показанный на рис. 10.19.

Уровень группировки по полю "КодЗаказа" оказался вложенным. И таких уровней вложенности в Access 2002 может быть до 10.

Для каждой группы, кроме свойств Заголовок группы (Group Header) и Примечание группы (Group Footer), которые позволяют вставлять в отчет дополнительные разделы, можно задать еще три свойства: Группировка (Group On), Интервал (Group Interval) и Не разрывать (Keep Together).

Свойства Группировка (Group On) и Интервал (Group Interval) связаны между собой и в совокупности определяют, каким образом мы хотим группировать данные. Значения, которые может принимать свойство Группировка (Group On), зависят от типа данных группирующего поля. Обычно данные группируются по каждому значению поля, т. е. каждому значению поля должна соответствовать отдельная группа. Тогда свойство Группировка По полному значению (Each Value), а значение свойства Интервал (Group Interval) должно быть равным 1. В нашем примере для поля "Название" установите эти свойства именно так.

При группировке по полю с текстовым содержимым допускается начинать новую группу всякий раз, когда изменится первый или несколько первых символов значения поля. В этом случае свойство Группировка (Group On) должно иметь значение По первым знакам (Prefix Characters), а свойство Интервал (Group Interval) будет определять, сколько первых символов должно использоваться для образования новой группы. Если это значение равно 1, то для каждой буквы алфавита будет создана Сдельная группа - это позволяет создавать отчеты типа Предметного указателя в книгах. Примером такого отчета является отчет "Список товаров " (Alphabetical List of Products) в базе данных "Борей" (Northwind ).

Рис. 10.19 . Структура отчета и условия сортировки и группировки

Для числового поля "КодЗаказа " (OrderID) мы оставляем значение свойства Группировка (Group On) равным По полному значению (Each Value), как это установлено по умолчанию. Значение свойства Интервал (Group Interval) останется равным I, т. к. нам нужно создать отдельную группу для каждого заказа. Однако свойство Группировка (Group On) позволяет группировать числовые данные и по диапазонам значений. В этом случае нужно установить значение данного свойства равным Интервал (Interval), а значение свойства Интервал (Group Interval) равным числу, которое определяет диапазон группировки. Например, если числовое поле содержит возраст человека, то значение 5 свойства Интервал (Group Interval) будет определять диапазоны возрастов от 0 до 4, от 5 до 9, от 10 до 14 и т. д.

Для поля типа Дата/время свойство Группировка (Group On) кроме значения по умолчанию По полному значению (Each Value) может принимать следующие значения: По годам (Year), По кварталам (Qtr), По месяцам (Month), По неделям (Week), По дням (Day), По часам (Hour), По минутам (Minute). Значение свойства Интервал (Group Interval) определяет число выбранных единиц измерения в диапазоне. Например, если значение свойства Группировка (Group On) установлено равным По месяцам , а Интервал (Group Interval) имеет значение 1, то данные будут группироваться помесячно.

Свойство Не разрывать (Keep Together) позволяет управлять тем, как группа будет, размещаться на странице. Если группы небольшие, то лучше всего установить значение этого свойства равным Вся группа (Whole Group). Тогда при печати отчета вся группа, т. е. заголовок группы, все записи из области данных и примечание группы будут размещаться на одной странице (если вся группа не помещается на текущую страницу, она продолжится со следующей страницы), а каждая следующая группа будет начинаться с новой страницы (если только она не помещается целиком на текущей странице). Если группа может содержать столько данных, что они не поместятся на одной странице, то лучше установить значение этого свойства равным С первыми данными (With First Detail). В этом случае заголовок группы размещается на текущей странице, только если на ней помещается также первая строка данных, в противном случае вся группа переносится на следующую страницу.

Свойство Не разрывать (Keep Together) для группы связано с аналогичным свойством раздела отчета. Эти свойства должны быть согласованы. Например, если в группе установлено значение свойства Не разрывать (Keep Together) равным Вся группа (Whole Group), то значения свойства Не разрывать (Keep Together) соответствующих разделов отчета должны иметь значения равными Да (Yes). В противном случае приоритет имеет свойство, заданное в окне Сортировка и группировка (Sorting and Grouping).

Сам отчет также имеет свойство Неразрывная группа (Grp Keep Together), которое применяется для отчетов, печатающихся в несколько колонок. Оно действует только для групп, у которых значение свойства Не разрывать (Keep Together) установлено равным Вся группа (Whole Group) или С первыми данными (With First Detail). Если же установлено значение Нет (No), то свойство Неразрывная группа (Grp Keep Together) игнорируется. Данное свойство отчета может иметь значения На странице (Per Page) и В столбце (Per Column). В первом случае группа печатается без разрыва на странице, а во втором - без разрыва в колонке (полосе) отчета.

Замечание
В ячейки Поле/выражение (Field/Expression) окна Сортировка и группировка (Sorting and Grouping) можно вводить не только названия полей, но и выражения, т. е. группировка может выполняться по значению выражения. Ввод выражения начинается со знака равенства (=) так же, как в свойствах форм и отчетов
.

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

О сортировке и фильтрации

По сути, сортировка и фильтрация - это инструменты, которые позволяют организовать ваши данные. Когда вы сортируете данные, вы приводите их в порядок. Фильтрация данных позволяет скрыть неважные данные и сосредоточиться только на данных, которые вас интересуют.

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

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

  • Заказы можно сортировать по дате заказа или по фамилии клиентов, разместивших заказы.
  • Клиенты могут сортироваться по имени или по городу или почтовому индексу, где клиенты живут.
  • Продукты можно сортировать по названию, категории (пироги, пирожные, кексы и т.д.) или цене.

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

В нашем примере мы будем выполнять сортировку по таблице. Однако вы можете сортировать записи в любом объекте Access. Процедура в основном такая же.

Для сортировки записей:


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

    Фильтрация записей

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

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

    В наших примерах и пояснениях мы будем применять фильтры к таблицам. Однако вы можете применять фильтры к любому объекту Access. Процедура в основном такая же.

    Чтобы создать простой фильтр:

  • Нажмите «ОК» . Фильтр будет применен. В таблице наших клиентов теперь отображаются только клиенты, которые живут в Кэри.

  • Переключение фильтра позволяет включать и выключать его. Чтобы просмотреть записи без фильтра, просто нажмите кнопку Toggle Filter . Чтобы восстановить фильтр, щелкните его еще раз.

    Создание фильтра из выделения

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

    Чтобы создать фильтр из выделения:

  • Фильтр будет применен. В нашей таблице теперь отображаются только продукты со словом шоколад в их именах.

  • Создание фильтра из поискового запроса

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

    Фильтрация текста по поисковому запросу

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

    • Равные значения, которые включают только записи с данными, которые идентичны выбранным данным
    • Не равен, что включает все записи, кроме данных, которые идентичны выбору
    • Начинается с, который включает только записи, данные которых для выбранного поля начинаются с поискового запроса
    • Не начинается с, включая все записи, кроме тех, чьи данные для выбранного поля начинаются с поискового запроса

    Чтобы фильтровать текст по поисковому запросу:


    Фильтрация чисел с поисковым термином

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

    • Больше, чем включать только записи с числами в этом поле, которые больше или равны числу, которое вы вводите
    • Меньше, чем включать только записи с номерами в этом поле, которые меньше или равно числу, которое вы вводите
    • Между включениями записей с цифрами, которые попадают в определенный диапазон

    Чтобы фильтровать числа по поисковому запросу:

    Конкретные типы чисел могут включать в себя другие параметры фильтрации. Например, даты, хранящиеся в числовой форме (mm / dd / yy-eg, 12/01/2010), включают опции для фильтрации по периодам времени.

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

    При поиске некоторого значения Access находит и отображает соответствующую запись Но если заданному критерию удовлетворяет несколько записей, то для удобства работы возникает необходимость отобразить на экране только их С помощью кнопок сортировки и фильтрации, находящихся на панели инструментов (или команд Фильтр (Filter) и Сортировка (Sort) из меню Записи (Records)), можно отобразить на экране только необходимые для работы записи, а также быстро отсортировать их в нужном порядке Для сортировки всей таблицы используются две кнопки сортировки, а для выбора определенных записей - три кнопки фильтрации

    Быстрая сортировка

    Иногда необходимо отсортировать записи в определенной последовательности Кнопки сортировки панели инструментов позволяют сортировать столбцы по возрастанию или по убыванию Сначала выберите поля для сортировки, а затем щелкните на кнопке Сортировка по возрастанию (А-Я) (Sort Ascending (A-Z)) или Сортировка по убыванию (Я-А) (Sort Descending (Z-A))

    Для выбора поля сортировки достаточно поместить в него курсор на уровне любой записи После этого щелкните на соответствующей кнопке, и данные мгновенно будут отсортированы

    Если вы хотите сортировать данные по нескольким полям, выделите несколько столбцов Для этого сначала выделите один столбец, а затем нажмите клавишу и перетащите курсор (Таким образом выделяются смежные столбцы) При этом записи таблицы отсортируются сначала по первому столбцу, затем по второму и т д Если же нужно выделить несмежные столбцы, то, как уже упоминалось выше, их нужно переместить, чтобы они располагались рядом

    Чтобы восстановить первоначальный порядок расположения записей, воспользуйтесь командой Записи^Удалить фильтр (Records^Remove Filter/Sort)

    Фильтрация

    Фильтрация позволяет просмотреть в форме только определенные записи. Выберите данные, по которым следует провести отбор, и нажмите кнопку Фильтр по выделенному на панели инструментов. Для того, чтобы поправить фильтр, нажмите кнопку Изменить фильтр. Чтобы задать более подробное условие для фильтрации, выберите в меню Записи команду Фильтр и подкоманду Расширенный фильтр. Для применения обычного или расширенного фильтра, нажмите кнопку Применить фильтр на панели инструментов.

    5. Создание запросов в среде ms Access

    Процесса проектирования запроса с помощью стандартной панели инструментов окна запроса в режиме Конструктора .

    Запросы

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

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

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

    При выполнении запроса MS Access считывает данные из таблиц и отображает результат выполнения в режиме таблицы. При этом следует учитывать, что результат выполнения запроса не сохраняется. Данные всегда хранятся в таблицах. В запросе MS Access хранит только инструкции о том, как должны быть организованы данные в результате выполнения запроса.

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

    Сортировка записей таблицы

    В таблице данные всегда отсортированы по первичному ключу. Чтобы организовать другой способ сортировки данных, используется запрос. Для создания такого запроса в окне базы данных следует выбрать пиктограммуТАБЛИЦА” и указать таблицу, которую необходимо отсортировать. Выбор пиктограммыНОВЫЙ ЗАПРОС”, расположенной на панели инструментов, приводит к открытию диалогового окна для создания нового запроса для указанной в окне базы данных таблице. В результате выбора пиктограммыНОВЫЙ ЗАПРОС” в диалоговом окне отображается список всех имен полей исходной таблицы, в начале которого расположен символ " * ". Отбуксируйте звездочку в бланк запроса QBE. Она является символом-заменителем всех полей данных. Кроме того, отбуксируйте в бланк запроса то поле данных, по которому должна быть проведена сортировка.

    Для этого поля из списка "Сортировка" выберите способ сортировки. Выберите пиктограмму “ВЫПОЛНИТЬ”и MS Access отобразит на экране результат запроса, отображаемый в режиме таблицы, данные в котором отсортированы требуемым образом.

    Запросы с критериями поиска

    Для выборки данных из таблиц по определенному условию в MS Access используются запросы с критериями поиска. Предварительно задав условие отбора, результатом выполнения запроса будет набор данных удовлетворяющих сформированному критерию.

    Для составления запроса следует перейти в окно базы данных, выбрать пиктограмму “ЗАПРОС” и нажать кнопку "Создать", а затем кнопку "Новый запрос". В следующем окне диалога следует выбрать одну из таблиц БД и нажать кнопку "Добавить", MS Access поместит в окно запроса список полей указанной таблицы. Теперь можно выбрать одно или несколько полей и отбуксировать их в бланк запроса QBE.

    Встроке"Условие отбора" можно ввести теперь критерии выбора. Для обозначения произвольного количества символов используйте в качестве символа-заменителя звездочку (*), а для обозначения одного произвольного символа знак вопроса (?). Сформулируйте критерии запроса. Например, если для текстового поля будет задан только критерий "А*", то в результате выполнения запроса будут отображены только те записи, текстовое поле которых начинается с буквы "А" (или "а").

    Если требуется отыскать комбинацию нескольких значений, необходимо ввести их в строку "Условие отбора", употребляя в качестве разделителя логические операторы AND и OR. Кроме обычных операторов сравнения, MS Access предоставляет три специальных оператора, полезных для отбора данных: BETWEEN, IN, LIKE.

    Запросы с параметрами

    Не всегда можно решить на этапе создания запроса, какие именно значения должен отыскивать MS Access, а иногда требуется гибкое условие отбора, которое может изменяться в зависимости от текущей ситуации. Поэтому вместо условия отбора, непосредственно вводимого в бланк QBE, можно включить в запрос параметр, и в этом случае перед выполнением запроса MS Access каждый раз будет запрашивать конкретные условия отбора.

    Чтобы установить параметр необходимо ввести в строку "Условие отбора" имя или фразу, заключенную в квадратные скобки (). То, что заключено внутри квадратных скобок, MS Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому разумно в качестве имени параметра использовать содержательную фразу. В одном запросе можно задать несколько параметров; при этом имя каждого параметра должно быть уникальным и информативным.

    По умолчанию MS Access преобразует введенные в запрос параметры в текстовый тип данных. Однако, так как текстовые поля нельзя сравнивать с полями дат, тип данных для параметров необходимо установить точно. Для этого выберите команду Запрос/Параметры из меню, в результате чего MS Access откроет окно диалога "Параметры запроса". Введите параметр без квадратных скобок в диалоговое окно и выберите необходимый тип данных.

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

    Вычисляемые поля в запросах

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

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

    Выражение 1: [Поле1] “оператор” [Поле2]

    В квадратные скобки заключаются только имена полей. MS Access автоматически использует "Выражение 1" в качестве имени вычисленного выражения. Это имя можно изменить на более содержательное.

    При построении сложных выражений MS Access предлагает использовать утилиту, называемую “Построитель выражений”. Для перехода в “Построитель выражений” необходимо щелкнуть по пустому полю в бланке QBE, а затем – по кнопке “Построить” панели инструментов.

    Итоговые запросы

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

    Для того чтобы составить итоговый запрос, находясь в режиме Конструктора запроса , следует выбрать пиктограмму “ГРУППОВЫЕ ОПЕРАЦИИ” или воспользоваться командой Вид/Групповые операции . В результате чего в бланке запроса появится строка "Групповая операция". Затем для соответствующего поля из списка необходимо выбрать функцию "Группировка".

    Многотабличные запросы

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

    Во-первых откройте окно Конструктора запроса и добавьте таблицы, в которых содержится необходимая информация. Если ранее с помощью команды Связи была установлена связь между таблицами, то MS Access определит это автоматически. Эта связь будет отображена в виде линии, проведенной между полями таблиц. Если связь между таблицами отсутствует, вы должны ее установить.

    Далее необходимо определить параметры связи. Укажите на соединительную линию и выберите команду Вид/Параметры объединения . В результате откроется диалоговое окно, в котором предлагаются три опции для определения параметров связи.

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

    Примечание: Поля главной таблицы при отношении “один-ко-многим” нельзя изменить в результате запроса, отображаемого в режиме таблицы. Кроме того, эти поля могут содержать повторяющиеся значения.

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

    Перекрестные запросы

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

    Представьте себе таблицу товаров, которая содержит три поля данных: "Тип", "Поставщик" и "Цена". Для каждой категории товаров требуется определить суммы цен товаров с указанием поставщика.

    Поместите в окно Конструктора запроса таблицу "Товары". Затем включите строку "Групповая операция", выбрав команду Вид/Групповые операции . После этого отбуксируйте поле данных"Тип" в бланк запроса. Для этого поля выберите из списка значение "Группировка".

    Во второй столбец бланка запроса отбуксируйте поле данных "Поставщик". Для этого столбца также выберите значение "Группировка".

    Последним в бланк запроса отбуксируйте поле "Цена". Для этого поля выберите значение "Sum".

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

    Теперь необходимо итоговый запрос преобразовать в перекрестный запрос. Для этого выберите команду Запрос/Перекрестный .

    Выбор данной команды приводит к замене в бланке запроса строки "Вывод на экран" на новую строку "Перекрестная таблица". Все остальные параметры остаются без изменения. Поле "Тип" исходной таблицы будет использовано в качестве заголовка строк. Поэтому из поля списка "Перекрестная таблица" выберите элемент "Заголовок строк". Для столбца "Поставщик" выберите из списка "Перекрестная таблица" элемент "Заголовок столбцов".

    Сумму цен товаров необходимо поместить в ячейках перекрестной таблицы. Поэтому для этого поля из списка "Перекрестная таблица" следует выбрать элемент "Значение".

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

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

    Запросы на удаление

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

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

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

    Лишь в том случае, если в результате запроса присутствуют только подлежащие удалению записи, следует преобразовать запрос-выбора в запрос на удаление.

    Для этого в строке меню выберите команду Запрос/Удаление . После этого MS Access выключает в бланке запроса строки "Сортировка"и"Вывод на экран". Для запросов на удаление эти строки не нужны. Кроме того, для всех колонок бланка запроса в новой строке"Удаление" отображается текст "Условие". Однако критерии при этом не изменяются.

    Если выполнить запрос выбором пиктограммы “ВЫПОЛНИТЬ”, MS Access не отобразит на экране результат выполнения запроса. Вместо него появится сообщение о том, сколько записей будет удалено в исходной таблице. Вы можете прервать процесс удаления нажатием кнопки "Отмена". Однако нажатие OK приводит к безвозвратному удалению записей, удовлетворяющих критериям запроса.

    Запросы-обновления

    Запрос-обновления позволяет производить обновление некоторой хранимой информации, своевременность которой истекла на текущий момент.

    Сначала создайте новый запрос выбора и введите критерии для выбора изменяемых записей. Только в том случае, если результат запроса отвечает заданным требованиям, следует преобразовать его в запрос замены. Для этого выберите команду Запрос/Обновление . При этом будут выключены строки "Вывод на экран"и "Сортировка" в бланке запроса. Обе эти строки не нужны для запроса замены. Вместо них включается новая строка "Обновление". В эту строку следует ввести новые выражения для заменяемых записей. Обратите внимание, что тип данных выражения должен совпадать с типом данных поля исходной таблицы.

    Отчет Access, который вы сконструировали в двух предыдущих упражнениях, имеет еще один существенный недостаток. Фамилии людей из списка Контакты выводятся не по алфавиту. Мастер отчетов автоматически сгруппировал данные таблицы Список по их принадлежности к тем или иным записям таблицы Контакты, которая определяется связью между полями Код_Контакты этих двух таблиц. По указанной причине фамилии в отчете упорядочены по возрастанию числового параметра Код_Контакты - идентификатора записей таблицы Контакты. Это неудобно, в отчетах с большим числом записей при такой сортировке будет довольно трудно отыскать нужного человека. Есть смысл изменить порядок сортировки, для этого выполните следующие шаги.

    1.Щелкните на кнопке Отчеты окна базы данных Access.

    2. Выделите значок отчета Список контактов.

    3. Щелчком на кнопке Конструктор панели инструментов окна базы данных откройте отчет в режиме конструктора.

    4. Щелкните на кнопке Сортировка и группировка панели инструментов, чтобы открыть окно диалога, показанное на рис. 18.19.

    Рис. 18.19. Сортировка и группировка данных в отчете Access

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

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

    5. Щелкните в третьей строке на кнопке раскрывающегося списка Поле/выражение .

    6. Выберите пункт Фамилия.

    7. В раскрывающемся списке Поле/выражение четвертой строки окна Сортировка и группировка выберите пункт Имя .

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

    8. Щелчком на кнопке строки Фамилия выделите ее.

    9. Поместите указатель на кнопку строки Фамилия, нажмите кнопку мыши и перетащите строку на самый верх списка. Отпустите кнопку мыши в тот момент, когда жирная горизонтальная линия, показывающая будущее расположение перемещаемой строки, окажется над первой строкой таблицы.

    10. Повторяя шаги 8 и 9, разместите строку Имя между строками Фамилия и Код_Контакты, как показано на рис. 18.20.

    Рис. 18.20. Добавление полей сортировки данных в отчете Access

    11. Закройте окно Сортировка и группировка.

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

    12. Щелкните на кнопке Вид панели инструментов , чтобы вывести отчет в режиме предварительного просмотра.

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

    Рис. 18.21. Окончательный вид отчета Access

    13. Закройте отчет Access.