Сортировка и группировка
Отчет, который мы сконструировали, имеет еще один существенный недостаток. Список сотрудников выводится не по алфавиту. Мастер отчетов автоматически сгруппировал данные таблицы Родственники сотрудника по их принадлежности к тем или иным записям таблицы Карточка сотрудника, которая определяется связью между полями Код этих двух таблиц. По указанной причине сотрудники в отчете упорядочены по возрастанию числового параметра Код – идентификатора записей таблицы Карточка сотрудника. Это неудобно, в отчетах с большим числом записей при такой сортировке будет довольно трудно отыскать нужного человека. Есть смысл изменить порядок сортировки. 1. Откройте отчет Родственники сотрудников в режиме конструктора. 2. На вкладке Конструктор группы Группировка и итоги выполните команду Группировка, чтобы открыть в нижней части экрана окно диалога, показанное на рисунке 5.4. В этом окне назначены два уровня сортировки. Сначала в порядке возрастания по полю Код, а затем в пределах списка родственников, относящихся к одному сотруднику, по убыванию степени родства. Верхняя строка окна Группировка, сортировка и итоги указывает, что записи группируются по полю Код, то есть при переборе записей таблицы Карточка сотрудника для каждого нового значения поля Код генерируется заголовок группы, в котором для нашего отчета отображаются фамилия, имя, отчество сотрудника и надписи полей из таблицы Родственники сотрудника. Рис.5.4. Сортировка и группировка
Казалось бы, можно просто изменить поле сортировки Код на Фамилия, и записи в отчете сразу же выстроятся по алфавиту. Но в этом случае для четырех людей с одинаковой фамилией (например, Петровский) будет выведен только один заголовок группы, ниже которого разместится список родственников всех Петровских. Вспомните, что новый заголовок группы выводится только для каждого нового значения поля, по которому выполняется группировка. Код – уникальный идентификатор записей таблицы Карточка сотрудника, группировка по которому обеспечивает вывод в отчет всех записей этой таблицы. Для сортировки записей отчета по алфавиту фамилий и имен следует добавить в список окна диалога Группировка, сортировка и итоги соответствующие поля, разместив их выше поля группировки Код. 3. В окне Группировка, сортировка и итоги щелкните на кнопке . 4. В появившемся списке полей выберите пункт Карточка сотрудника_Фамилия. 5. Аналогично добавьте сортировку по полю Карточка сотрудника_Имя. При добавлении нового поля сортировки Microsoft Access автоматически назначает ему порядок сортировки по возрастанию начиная с А. Чтобы реализовать обратный порядок записей, выберите в раскрывающемся списке строки соответствующего поля порядок сортировки начиная с Z. 6. Щелчком по строке Сортировка Карточка сотрудника_Фамилия выделите ее. 7. Удерживая нажатой левую кнопку мыши в области выбора поля переместите его перед полем группировки Код. 8. То же самое проделайте с полем сортировки Карточка сотрудника_Имя, переместив его непосредственно после поля Фамилия. Новый вид окна Группировка, сортировка и итоги представлен на рисунке 5.5. Рис.5.5. Сортировка и группировка
9. Закройте окно Сортировка и группировка. 10. Перейдите в режим Представление отчета на вкладке Главная. Теперь записи сначала сортируются по фамилиям, затем по именам. После этого для каждой новой записи таблицы Карточка сотрудника появляется заголовок группы (так как значения поля Код для всех записей различны). Ниже заголовка группы из таблицы Родственники сотрудника выводятся все родственники, соответствующие данному значению величины Код, то есть данному сотруднику. Заголовки тех групп, для которых нет ни одной записи в таблице Родственники сотрудника, в отчет не выводятся. 11. Закройте отчет и сохраните все изменения.
|