Создание отчета с группировкой или сводного отчета. Сортировка записей в запросе в Microsoft Access Access формы режим таблицы сортировка не активна

GardenCo

Сортировка данных

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

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

В этом упражнении вы воспользуетесь различными способами сортировки данных в таблице и форме. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap12\Sort . Выполните следующие шаги.

1. Откройте базу данных GardenCo, расположенную в рабочей папке.

2. Откройте таблицу Клиенты в режиме таблицы.

3. Чтобы отсортировать таблицу по полю Штат, щелкните в любом месте столбца Штат, а затем щелкните на кнопке . Записи будут упорядочены по регионам.

Совет . Можно также воспользоваться командами Сортировка по возрастанию (Sort Ascending) и в меню Записи (Records) или щелкнуть правой кнопкой мыши на столбце, а затем щелкнуть на нужной команде в контекстном меню.

4. Чтобы изменить порядок сортировки на обратный (при условии, что курсор все еще находится в столбце Штат ), щелкните на кнопке Сортировка по убыванию (Sort Descending) . Записи для штата Орегон находятся теперь в начале списка. В обоих случаях сортировка осуществлялась по алфавиту, но данные в поле Город располагаются беспорядочно. Очевидно, что список выиграет, если упорядочить города внутри регионов.

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

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

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

5. Чтобы разместить столбец Штат слева от поля Город , щелкните на заголовке столбца и перетащите его влево, пока между полями Адрес и Город не появится темная линия.

6. Так как столбец Штат уже выделен, нажмите на клавишу (Shift) и щелкните в заголовке столбца Город , чтобы распространить выделение на оба столбца.

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

Совет . Просматривая записи в режиме формы, их можно отсортировать, но только по одному полю. Для этого щелкните в нужном поле, а затем щелкните на одной из кнопок Сортировка (Sort) .

8. Хотя порядок столбцов в таблице Клиенты не имеет особого значения, все же верните столбец Штат на прежнее место.

9. Сохраните и закройте таблицу Клиенты .

10. Закройте базу данных.

Существует два вида сортировки, которые можно выполнить: простая сортировка и сложная сортировка.

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

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

Особенности сортировки записей.

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

В одном или нескольких полях результатов запроса или расширенного фильтра может быть отсортировано до 255 знаков.

Порядок сортировки зависит от языка, указанного в поле Порядок сортировки базы данных (на вкладке Общие диалогового окна Параметры) в момент создания базы данных. Если база данных содержит связанные таблицы из базы данных, использующей порядок сортировки для другого языка, Microsoft Access использует порядок сортировки, указанный для базы данных, содержащей связь с таблицей, а не для базы данных, в которой хранится сама таблица.

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

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

Числа, хранящиеся в текстовых полях, сортируются как строки знаков, а не как числовые значения. Поэтому для выполнения их сортировки в числовом порядке все текстовые строки должны иметь одинаковую длину. Например, результатом сортировки по возрастанию текстовых строк "1", "2", "11" и "22" будет "1", "11", "2", "22". В начало строк с меньшим количеством знаков следует добавить незначащие нули, например: "01", "02", "11", "22". Еще одним решением данной проблемы для полей, не содержащих значения Null , будет использование функции Val для сортировки числовых значений строк. Например, если столбец "Возраст" является текстовым полем, содержащим числовые значения, то для расположения записей этого столбца в должном порядке можно указать в ячейке Поле функцию Val ([Возраст]), а в ячейке Сортировка указать нужный порядок сортировки. Если числовые значения или значения дат хранятся только в текстовом поле, рекомендуется изменить тип данных этого поля таблицы на числовой, денежный или даты/времени. После выполнения сортировки по этому полю числа или даты будут располагаться в надлежащем порядке без ввода дополнительных нулей.

При сортировке поля по возрастанию записи, в которых это поле пусто (содержит значение Null), ставятся в начало списка. Если поле содержит как записи со значениями Null, так и записи с пустыми строками, при сортировке первыми будут отображены поля со значениями Null, а сразу за ними поля с пустыми строками.

В отчете допускается сортировка по 10 и менее полям или выражениям.

    Нажмите кнопку Сортировка и в раскрывшемся списке поле задайте поле, для которого будет выполнена сортировка.

    Чтобы обеспечить сортировку записей внутри отсортированной группы записей добавьте еще один уровень сортировки, как это описано выше.

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

При сортировке по возрастанию значения сортируются в порядке от «А» до «Я» и от 0 до 9.

Для изменения порядка сортировки выберите пункт "Начиная с Z" для текстовых полей или "От максимального к минимальному" для числовых полей. При сортировке по убыванию значения сортируются в порядке от «Я» до «А» и от 9 до 0.

  1. Группировка записей в отчете

В отчетах допускается группировка по 10 и менее полям или выражениям. Группировка может быть выполнена на этапе создания отчета. Для группировки записей в созданном отчете:

    Откройте отчет в режиме конструктора.

    Нажмите ПКМ и в контекстном меню выберите пункт Сортировка и группировка, чтобы открыть окно Группировка, сортировка и итоги.

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

    Задайте направление группировки, например "От минимального к максимальному".

    Добавьте общие и промежуточные итоги для двух – трех полей отчета. Для этого в строке группировка раскройте список Больше и в нем выберите пункт С итогами. На рис. 4.1 показан в режиме Конструктор отчет с группировкой спортсменов по весу. В Отчет добавлены промежуточные итоги по группе (сумма ростов спортсменов с определенным весом) и общий итог (сумма ростов всех спортсменов).

Рис. 4.1. Отчет с группировкой спортсменов по весу в режиме Конструктор.

Рассмотрим параметры группировки, приведенные на рис. 4.1:

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

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

    ··"С разделами примечания". Добавляет или удаляет область примечаний группы, определяемой полем или выражением.

    "Не удерживать группу на одной странице". Задает или отменяет обязательную печать группы на одной странице.

  1. Создание вычисляемого элемента управления

    Откройте отчет в режиме Конструктор.

    Добавьте в область данных отчета элемент управления Поле, как это описано в лабораторной работе №2 (см. рис. 4.2).

    Вызовите окно свойств поля и на вкладке Данные в строке Данные вызовите Построитель выражений (нажмите кнопку с тремя точками).

    В Построителе задайте поля и операции над ними (например, расчет удельной площади или относительной зарплаты и т.п.).

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

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

Рис. 4.2. Использование Построителя выражений для создания вычисляемого поля в режиме Конструктор.

Теперь определим структуру отчета, задавая условия группировки и сортировки записей. Эти условия задаются в диалоговом окне Сортировка и группировка (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) можно вводить не только названия полей, но и выражения, т. е. группировка может выполняться по значению выражения. Ввод выражения начинается со знака равенства (=) так же, как в свойствах форм и отчетов
.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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