- •Глава 1. Вариант типового задания
- •Глава 2. Общие методические указания к выполнению курсового проекта
- •2.1. Требования к оформлению пояснительной записки к курсовому проекту
- •2.3. Рекомендации по порядку выполнения и отладки
- •4. Создание базы данных и таблиц.
- •Файл – Создать – База данных
- •5. Организация просмотра и корректировки таблиц.
- •6. Формирование справки о предприятиях произвольно заданного города.
- •Select список полей
- •7. Формирование справки о динамике цен и выпуска изделий.
- •8. Формирование справки о максимальной стоимости выпуска изделий.
- •9. Формирование сведений об изделиях с экстремальной стоимостью годового выпуска.
- •10. Создание формы для просмотра сведений о предприятиях и изделиях.
- •11. Создание запроса на обновление.
- •12. Формирование отчета.
- •Предприятия предприятия изделия годового выпуска
- •Итого по предприятию . . .
- •Итого по предприятиям . . .
- •13. Способы реализации выхода из меню.
- •14. Создание меню и организация его работы.
- •14.1 Создание меню с помощью кнопочной формы.
- •14. 2 Создание меню с помощью обычной формы.
- •15. Варианты заданий на курсовое проектирование.
Итого по предприятию . . .
. . . . . . . . . . . .
Итого по предприятию . . .
Итого по предприятиям . . .
Отчет можно создать различными средствами: с помощью мастера отчетов, самостоятельно в режиме конструктора и с помощью мастера автоотчета. Полученный любым способом отчет можно затем доработать в режиме конструктора, где можно изменить не только оформление, но и структуру отчета.
В качестве источника данных для отчета создадим запрос, в котором содержатся сведения о стоимости годового выпуска каждого изделия на каждом предприятии. Источником данных для этого вспомогательного запроса будут записи обеих таблиц, связанных по полю 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