Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №12.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
648.56 Кб
Скачать

Доработка однотабличного отчета в режиме конструктора

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

Рис. 10.6. Отчет, созданный с помощью мастера, в режиме конструктора

Группировка и сортировка данных отчета

Для выполнения требований к группировке и сортировке данных, отобра­жаемых в отчете, откроем диалоговое окно Сортировка и группировка (Sorting and Grouping), воспользовавшись соответствующей кнопкой на па­нели инструментов конструктора. Для рассматриваемого примера в этом окне отобразятся параметры, установленные мастером (рис. 10.7). Группировка записей задана по полю адрес_пок, содержащему только название го­рода, сортировка производится по полю наим пок.

Рис. 10.7 Диалоговое окно Сортировка и группировка

Поле группировки задается путем выбора в свойствах группы значения Да (Yes) в строках Заголовок группы адрес_пок (адрес_пок Header) и Примеча­ние группы адрес_пок (адрес_пок Footer) и помечается значком. В свой­ствах группы задается и интервал группировки. Если выбрать в свойстве Группировка значение По первым знакам и интервал, например, 6, в рас­сматриваемом примере будет правильно произведена группировка и при за­писи в поле АДРЕС_ПОК полного адреса, начинающегося с названия города (Москва и Санкт-Петербург). При этом в отчете будет выводиться полный адрес первого покупателя в группе.

Для поля сортировки в области Свойства группы в строках Заголовок группы

адрес_пок (адрес_пок Header) и Примечание группы адрес_пок (адрес__пок Footer) по умолчанию установлены значения Нет (No), что и определяет по этому полю только сортировку.

Группировка по заданному выражению

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

Функция InStrB возвращает позицию первого знака строки, входящей в другую строку. В рассматриваемом примере функция InStr позволяет опре­делить мест, где и строковом значении поля адрес ПОК в первый раз встреч ается указанный вторым операндом символ запятой (,). Функция InStr возвращает номер позиции запятой. Длина части строки до запятой на еди­ницу меньше. Функция Left использует полученное значение длины для выделения в поле адрес_пок левой части строкового значения, стоящей до запятой. Таким образом из адреса выделяется нужная для группировки часть: название города. В отчете в режиме конструктора выражение, по ко­торому выполняется группировка, отображается в названии раздела Заголо­вок группы выражение. Это же выражение запишем в заголовок группы вместо имени поля адрес_пок, иначе в отчете в заголовке группы вместо названия города будет отражен полный адрес первого покупателя.

Размещение данных в разделах отчета

В отчете значение поля группировки должно быть представлено один раз в разделе Заголовок группы (Header). В примере здесь размещается название города, выделяемое из адреса с помощью функций InStr и Left.

Если необходимо включить в отчет полный адрес покупателя, добавьте поле адрес_пок в область данных, где отображаются записи о покупателях. Для этого откройте список доступных полей источника записей отчета (рис. 10.9), нажав кнопку Список полей (Field List) па панели инструментов конструкто­ра отчетов, и перетащите поле АДРЕС_ПОК из списка полей в область данных.

Рис. 10.8 Список полей источника записей отчета

Как видно из рисунка, источником записей отчета является таблица ПОКУПАТЕЛЬ. Данные в отчете разместим в соответствии с проектом макета отчета.

Рис. 10.9. Отчет после доработки в режиме конструктора

Поскольку требуется начинать с ноной страницы вывод отчета для каждого города, выберем дли заголовка группы свойство макета Конец страницы значение До раздела. Для того чтобы на каждой странице отображался город, для которого выводится список покупателей, переместим поле с выражени­ем из заголовка группы в верхний колонтитул и изменим надпись на Список покупателей. Для перемещения поля из одного раздела отчета в другой вы­делите поле, выполните для него команду Вырезать и потом, сделав теку­щим другой раздел, Вставить. Заметим, что подписи можно создать заново, воспользовавшись кнопкой панели элементов Надпись (Label).

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

В заголовок отчета, воспользовавшись кнопкой на панели элементов, вклю­чим надпись Списки покупателей по городам.

С помощью панели инструментов и пункта меню Формат откорректируем надписи полей, установим нужный шрифт, цвет, размер элементов, как по­казано на рис. 10.10. В соответствии с проектом отчета создадим линии, ис­пользуя кнопку панели элементов Линия (Line).