Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник по аксес.doc
Скачиваний:
27
Добавлен:
14.11.2018
Размер:
1.62 Mб
Скачать

Итого по предприятию . . .

. . . . . . . . . . . .

Итого по предприятию . . .

Итого по предприятиям . . .

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

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

На языке SQL запрос описан следующим образом:

SELECT tabp.kodp, pred, izd,

([vp1]*[zn1]+[vp2]*[zn2]+[vp3]*[zn3]+[vp4]*[zn4]) AS godsum

FROM tabp INNER JOIN tabv ON tabp.kodp = tabv.kodp;

Сохраним этот запрос под именем otchet. В режиме конструктора он представлен на рисунке 28.

Рис. 28. Вспомогательный запрос для формирования отчета.

Затем перейдем в окно базы данных и выберем объект Отчеты, режим Создать. В открывшемся окне Новый отчет выберем Автоотчет: ленточный, а в качестве источника данных выберем созданный запрос otchet и после нажатия кнопки ОК увидим автоматически созданный отчет в режиме просмотра. Однако заголовки и структура отчета не соответствует нашей задаче, поэтому отчет надо переделать.

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

Автоотчет создает все эти области автоматически. Любое изменение отчета возможно только в режиме конструктора. Работая в режиме конструктора, в области заголовков заменим заголовок. Для этого выделим заголовок мышкой и, удалив имя запроса, выведенное как заголовок, введем нужный текст. Шрифт и жирность можно оставить предложенную автоотчетом или заменить.

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

В области нижнего колонтитула можно откорректировать вывод даты и номеров страниц, выделив эти поля, и в свойствах этих полей или непосредственно в окнах полей ввести соответствующие выражения. Выражения можно получить и с помощью построителя, щелкнув мышкой по трем точкам в строке свойства данные. Так, для поля с номером страницы можно ввести выражение: =” страница №” & [page] & ” из “ & [pages] . С помощью свойств можно изменить насыщенность, шрифт, размер и курсив.

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

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

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

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

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

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

Эта опция выводит диалоговое окно «сортировка и группировка» (рисунок 29), которое состоит из двух частей. В верхней части необходимо указать, по какому полю или выражению осуществлять группировку, выбирая из списка полей, доступных отчету. Для каждого выбранного поля предлагается выбрать порядок сортировки ( по возрастанию или по убыванию). В нашем примере мы группируем по предприятиям ( по полю pred).

Рис. 29. Окно для создания групп.

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

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

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

Рис. 30. Вид конструктора отчета.

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

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

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

=” Итого по предприятию” & str(sum(godsum)).

В этом случае придется форматировать только одно поле.

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

Результат полученного отчета можно посмотреть и напечатать в Word. Сохранить отчет путем загрузки его в Word можно, перейдя из режима просмотра отчета в Access через пункт меню СервисСвязи с Office. Объект будет автоматически сохранен в Word.

Вид нашего отчета, сохраненного в Word, следующий.

Информация о годовом выпуске

код название название стоимость годового

предприятия предприятия изделия выпуска

10 Агат принтер 17200

телефон 12800

телевизор 23700

Итого по предприятию 53700

20 Горизонт телевизор 8000

телефон 23000

сканер 12500

Итого по предприятию 43500

100 Интеррос сканер 20000

телевизор 32340

принтер 22500

Итого по предприятию 74840

110 Формоза сканер 11600

принтер 16000

Итого по предприятию 27600

30 Хромотрон телевизор 9800

принтер 13200

сканер 22000

Итого по предприятию 45000

Итого по предприятиям 244640