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

Задание 8. Разработка отчетов

 

Создание отчета Заказы

 

Отчет Заказы должен содержать данные конкретного заказа и печататься из формы Заказы при нажатии соответствующей кнопки. (рис. 5)

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

Последовательно выполните следующие действия.

1. Создайте запрос для отчета Заказы с именем ЗаказыДляОтчетаЗапрос на основе таблиц Заказы, Клиенты, Менеджеры. Включите в него поля КодЗаказа, ДатаЗаказа, ОбщаяСумма – из таблицы Заказы, поле ФИО – из таблицы Менеджеры и поля ФИО и Телефон – из таблицы Клиенты.

2. Создайте отчет на базе запроса ЗаказыДляОтчетаЗапрос (рис. 1):

a. Перейдите на вкладку «Создание»

b. Нажмите кнопку «Мастер отчетов»

c. В появившемся окне в качестве источника данных определите «ЗаказыДляОтчетаЗапрос», перенесите в отчет все поля

d. Вид макета для отчета выберите «в столбец»

e. Дайте имя отчету «ЗаказыОтчет»

f. В конструкторе приведите отчет к виду представленному на рисунке 1

 

 

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

 

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

 

 

Рис.2.

 

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

 

Рис.3

 

Высоту подотчета сделайте минимальной: 0,3.-0,4 см. Свойству Автоматический размер(закладка Макет)подотчета присвоено значение Да. То есть его размер при необходимости будет увеличиваться, чтобы вместить все данные, содержащиеся в подотчете.

При просмотре отчета можно увидеть, что в перечне товаров присутствуют записи из всех заказов. Условие, отбирающее записи только текущего заказа, присутствует в макросе ПечатьЗаказа.

В форме Заказыв разделе Примечания создайте кнопку с надписью Печать заказа. С событием Нажатие кнопки свяжите макрос ПечатьЗаказа рис. 4

Условие отбора [КодЗаказа]=[Forms]![Заказы]![КодЗаказа]

предписывает распечатать текущий заказ.

 

 

Рис4

 

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

При вызове отчета из формы Заказы(кнопка Печать заказа):в отчет попадут строки только текущего заказа – рис. 5.

 

 

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

 

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

В отчете ПродажиОтчет должен выводиться перечень всех заказов в указанном диапазоне дат с итоговой суммой (рис. 9).

Создайте запрос с параметрами на базе таблиц Заказыи Клиенты рис. 6.

В условие отбора поля ДатаЗаказа впишите:

Between [Начальная дата] And [Конечная дата].

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

 

 

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

 

 

Создайте отчет ПродажиОтчетна базе запроса ДляОтчетаПродажи рис. 7.

 

 

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

 

Сделаем дальнейшие усовершенствования отчета (рис.8)

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

 

 

Рис. 8. Доработка отчета Продажи

 

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

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

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

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

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

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

 

 

Рис.9. Отчет Продажи в режиме просмотра.