Главная стр 1
скачать


Содержание


Отчеты

Создание отчета и подчиненных отчетов

Создание итогового отчета Продажи

Создание отчета Продажи: группировка

Печать итоговой суммы прописью


Отчеты
Отчеты – это объекты Access, предназначенные для вывода данных в виде печатных форм на бумагу. Непосредственно перед печатью отчет всегда можно предварительно просмотреть на экране в режиме WYSIWYG (What You See Is What You Get). В виде отчетов оформляют все документы, требующие печати на бумагу, например, счета, накладные, ордера, сводки и т.д.

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

Отчеты создаются в закладке Отчеты главного окна базы данных Access. Заметим, что в операционной системе Windows должен быть установлен драйвер принтера (любого): в противном случае попытка создания отчета приведет к выводу на экран сообщения о необходимости установки драйвера принтера.
Создание отчета и подчиненных отчетов
Создадим наш первый отчет Заказы, который, как отмечалось выше, должен печататься из формы Заказы по кнопке Печать заказа. Готовый отчет в режиме предварительного просмотра показан на рис. 7.1.

Рис. 7.1. Отчет в режиме предварительного просмотра на экране


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

1. Перейдите в закладку Отчеты главного окна Access и создайте новый отчет. В качестве источника данных укажите таблицу Заказы. В режиме Конструктора в первую очередь видоизмените источник данных, добавив (закладка Данные, свойство Источник записей) в него поля из таблицы Клиенты и приведя его к виду, указанному на рис. 7.2.

Как видно из рис. 7.2, поле КодКлиента в запрос не включено. По желанию, сохраните запрос с именем ЗаказыДляОтчетаЗапрос. Таким образом, источник данных скорректирован.


Рис. 7.2 Отбор полей для отчета Заказы


Далее перетащите поля в создаваемый отчет. Надписи и поля разместите, как на рис. 7.3. Обратите внимание - все поля размещены в области заголовка и примечания отчета. Поэтому, перед перетаскиванием полей, следует отобразить эти области в отчете, одновременно исключив колонтитулы (используйте меню Вид).

Рис. 7.3. Отчет Заказы в режиме Конструктора



2. Создайте подчиненный отчет на базе имеющегося запроса ЗаказаноТовараЗапрос (он создавался для формы ЗаказаноТовараПодформа) в качестве источника данных. Надписи и поля разместите в подотчете как на рис. 7.4.

Рис. 7.4. Подотчет в режиме Конструктора


Обратите внимание, что поля размещены в области данных, а надписи к полям в области верхнего колонтитула отчета. Присвойте подчиненному отчету при сохранении имя ЗаказаноТовараПодотчет.
3. Теперь, когда отчет и подотчет подготовлены, следует внедрить подотчет в отчет в уже отведенное для него место в области данных. Откройте отчет Заказы в режиме Конструктора. Включите Мастера на Панели элементов, выберите элемент Подчиненная форма/отчет, установите указатель мыши на область данных и растяните его до нужных размеров – рис. 7.5.

В этом месте будет запущен Мастер создания подчиненного отчета, который попросит уточнить некоторые данные. В первом окне уточняется источник данных для подотчета: выберите пункт Отчеты, выберите из списка ЗаказаноТовараПодотчет и нажмите кнопку Далее. Следующее окно уточняет имена основных и подчиненных полей: выберите Выбор из списка, строку 'ЗаказаноТовараЗапрос для каждой записи ЗаказыДляОтчетаЗапрос' и нажмите Далее. В следующем окне запрашивается надпись к подчиненному отчету: введите Состав заказа и нажмите Готово.


Примечание: если Мастер не установлен, то для появившегося на отчете элемента Подчиненная форма/отчет следует самостоятельно задать уточняющие свойства. В частности, в свойстве Объект-источник (закладка Данные) выберите из списка имя ЗаказаноТовараПодотчет, в свойства Подчиненные поля и Основные поля запишите имя поля для синхронизации – КодЗаказа.

Рис. 7.5. Помещение подотчета на отчет


Подкорректируйте размеры области данных и местоположение подотчета. Высоту подотчета сделайте минимальной: 0.3-0.4 см. Обратите внимание, что свойству Расширение (закладка Макет) подотчета присвоено значение Да. Это означает, что его размер при необходимости будет увеличиваться, чтобы вместить все данные, содержащиеся в подотчете.

Сохраните отчет Заказы.

Теперь просмотрим результат наших разработок: откройте отчет Заказы и Вы увидите, что в перечне товаров присутствуют записи из всех заказов сразу (а не одного заказа). Условие, отбирающее записи только текущего заказа, указано в макросе ПечатьЗаказа, который выполняется при нажатии кнопки Печать заказа на форме Заказы. Теперь попробуйте вызвать созданный отчет из формы Заказы (нажмите кнопку Печать заказа): в отчет попадут строки только текущего заказа.

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




Создание итогового отчета Продажи
Итоговые отчеты (о продажах, операциях, оборотах и т.д.), требующие вывода на бумагу, всегда присутствуют в любой ИС.

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

Нам потребуется создать запрос, сам отчет и макрос для его печати. Данные в отчет выбираются из таблиц Заказы и Клиенты. Последовательно проделайте следующие действия:
1. Создайте запрос с параметрами на базе указанных таблиц. Назовите его ДляОтчетаПродажи. В запрос включите следующие поля - рис. 7.7.

В условие отбора поля ДатаЗаказа впишите: Between [Начальная дата] And [Конечная дата]. Как уже известно, такой запрос перед выполнением затребует ввода этих параметров – начальной и конечной даты, а затем отберёт заказы в этом диапазоне дат. Сохраните запрос с именем ДляОтчетаПродажи и проверьте его работу.



2. Теперь создайте отчет Продажи на базе запроса ДляОтчетаПродажи. Расположите поля и надписи как показано на рис. 7.8.

Рис. 7.6. Предварительный вид отчета Продажи



Рис. 7.7. Отбор полей в запрос для отчета Продажи


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

Во-первых, значения полей [Начальная дата] и [Конечная дата] выбираются в отчет не из таблиц базы данных, а передаются из запроса. Поэтому эти поля создайте вручную с использованием элемента Поле Панели элементов, а в свойство Данные (закладка Данные) этих полей впишите соответственно имена параметров: Начальная дата и Конечная дата.

Во-вторых, поле ОбщаяСумма присутствует в отчете 2 раза. Крайнее из этих полей используется для накопления итоговой суммы, поэтому измените ее свойства так:

а) в свойство Имя (закладка Данные) введите имя, например, Итого;

б) в свойстве Сумма с накоплением (закладка Данные) значение Отсутствует замените на значение Для всего. Таким образом, в этом поле будет накапливаться итоговая сумма продаж при распечатке отчета.

г) уменьшите ширину поля до 5-10 мм и сделайте поле невидимым при выводе – свойство Вывод на экран = Нет.



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

Ну и, в-четвертых, желательно пронумеровать страницы отчета. Для этого из меню Вставка Панели управления выберите пункт Номера страниц… . В появившемся окне выберите значения Страница N из M, Верхний колонтитул и выравнивание По правому краю. Нажатие кнопки ОК приведет к вставке соответствующего поля в отчет, как показано на рис. 7.8.

Сохраните отчет и просмотрите его.

Рис. 7.8. Отчет Продажи в режиме Конструктора


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

Рис. 7.9. Макрос вызова отчета Продажи



Создание отчета Продажи: группировка
В отличие от форм, отчеты позволяют группировать записи при выводе по значению поля или нескольких полей. Причем внутри группы записи можно сортировать, добавлять заголовок и примечание. Пример группировки по дате заказа приведен на рис. 7.10.
Группировка записей в отчете устанавливается в специальном окне (рис. 7.11), которое можно вывести двумя способами:

  • нажать кнопку на Панели инструментов;

  • в меню Вид выбрать пункт Сортировка и группировка.

Скопируйте отчет Продажи в отчет с именем ПродажиГруппировка, откройте его в режиме Конструктора, отобразите окно группировки и приведите отчет к виду, показанному на рис. 7.11.


Рис. 7.10. Предварительный вид отчета с группировкой по дате


Рис. 7.11. Установка группировки по полю ДатаЗаказа


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

Печать итоговой суммы прописью
Часто итоговую сумму требуется напечатать как в виде числа, так и буквами - прописью. В Access это требует написания программы на встроенном языке Visual Basic for Application. В учебной пример zakaz.mdb, прилагаемый к книге, включен модуль Пропись, который реализует печать чисел прописью. Текст модуля можно посмотреть в закладке Модули главного окна Access, а также в следующей теме Полезные подпрограммы.

Одну из функций модуля Пропись – propiskop() – используем в нашем отчете ПродажиГруппировка. Назовите поле с данными =[Итого] как ИтогСумма и создайте ниже ещё одно поле. В него впишите вызов функции propiskop([ИтогСумма]), как показано на рис. 7.12.


Рис. 7.12. Вызов функции для печати числа прописью


Результат приведен ниже:




скачать


Смотрите также:
Отчеты Создание отчета и подчиненных отчетов Создание итогового отчета Продажи
73.37kb.
Экзаменационные вопросы по дисциплине «Базы данных»
20.23kb.
Руководство по составлению отчёта по производственной практике структура отчёта
97.06kb.
В разрезе рассматриваемых вопросов лекции
286.89kb.
Методические рекомендации по подготовке плана/отчета. Несколько общих замечаний
71.83kb.
Рекомендации к выполнению отчёта и ведению дневника по стажировке содержание основной части отчёта
85.39kb.
Инструкция для составления отчета по результатам апробации общие положения
58.68kb.
Методические рекомендации по оформлению и защите творческого отчета
305.51kb.
Отчета «РеестрДокументовОказаниеУслуги» из книги М. Г. Радченко «1С: Предприятие 0: Практическое пособие разработчика: Примеры и типовые приемы»
158.59kb.
Лабораторная работа №13 Создание реляционной базы данных, заполнение бд, создание форм
86.18kb.
Отчета №2 Сравнение невербальной экспрессии в ситуациях искренней и неискренней коммуникации Срок сдачи отчета 04. 06. 2010
79.59kb.
Бюллетень для голосования на повторном годовом общем собрании акционеров
96.27kb.