Использование в отчете переменных
В отчете можно использовать переменные из программы, доступные в момент вызова отчета, а также переменные, определенные в конструкторе отчетов и используемые для хранения результатов вычислений, выполняемых во время печати отчета. Переменные отчета определяются на вкладке Variable (Переменные) диалогового окна Report Properties (Параметры отчета) (рис.7), для открытия которого используется команда Variables из меню Report. В открывшемся окне можно добавлять в отчет новые переменные и удалять существующие.
В случае, если в системе уже определена глобальная переменная с именем, совпадающим с именем переменной созданной в отчете, ее значение будет использовано при построении отчета. Это позволяет разработчикам передавать необходимые данные построителю отчета при его вызове из исполняемого приложения.
Рис. 7.Вкладка Variablesдиалогового окнаReport Properties
Вкладка Variables диалогового окна Report Properties содержит поля, описанные в табл. 5.
Таблица 5.
Поле вкладке Variables
Наименование поля | Назначение |
Variables(Переменные) | Содержит наименование переменной, которое может содержать только буквы, цифры и символ подчеркивания и не может начинаться с цифры |
Value to store(Хранимое значение) | Значение переменной |
Initial value(Начальное значение) | Начальное значение переменной |
Reset value based on(Сброс на основе) | Список содержит три значения, указывающие момент сброса переменной в начальное значение: в конце отчета, в конце страницы или в конце группы |
Calculation type(Тип вычисления) | Опции, расположенные в списке, позволяют задать выражения, выполняемые над переменной вычисления (табл. 6) |
Release after report(Освободить после отчета) | При установке флажка после завершения печати отчета переменная очищается из памяти |
Для формирования значений переменных, задаваемых в полях Value to storeи Initial value,можно использовать диалоговое окно Expression Builder, открываемое при нажатии расположенных с правой стороны поля кнопок.
Таблица 6.
Назначение опций списка Calculation type
Опции | Назначение |
Non(Нет) | Над переменной вычисления не производятся |
Count (Количество) | Вычисляется количество появлений переменной в группе, на странице, в колонке или отчете (значение переменной не используется) |
Sum (Сумма) | Вычисляется итоговая сумма значений переменной |
Average (Среднее) | Вычисляется среднее арифметическое значений переменной в группе, на странице, в колонке или отчете |
Lowest (Минимальное) | Отображается наименьшее значение переменной в группе, на странице, в колонке или отчете |
Highest (Максимальное) | Отображается наибольшее значение переменной в группе, на странице, в колонке или отчете |
Standard deviation (Стандартное отклонение) | Возвращается квадратный корень из дисперсии значений переменной в группе, на странице, в колонке или отчете |
Variance (Дисперсия) | Возвращается статистическая величина отклонения отдельных значений переменной от среднего в группе, на странице, в колонке или отчете |
При использовании переменных в отчете необходимо иметь в виду следующее:
- переменные в отчете могут использоваться в качестве полей или в выражениях, определяющих поля;
- при запуске отчета переменной присваивается начальное значение, а затем в процессе формирования отчета ее значение изменяется в соответствии с выбранным выражением. При заданных для переменной условиях она принимает свое начальное значение;
- для определения начального или вычисляемого значения переменной могут использоваться другие переменные, но значения этих переменных должны вычисляться до момента их использования переменной.
Разметка страницы отчета
Для разметки страницы отчета используется вкладка Page Layout(Разметка страницы) диалогового окна Report Properties (Свойства отчета) (рис.8), которое открывается при выборе меню File | Page Setup. Объекты интерфейса этой вкладки позволяют определить:
· количество колонок в отчете;
· порядок вывода записей;
· ширину левого поля отчета;
· ширину колонок и расстояние между ними;
· единицу измерения координат отчета и выбор режима печати.
Рис.8. Вкладка Page Layoutдиалогового окна Report Properties
В области «Columns» устанавливаются значения, определяющие количество колонок на странице и их размеры:
Поле | Назначение |
Number(Число) | Определяет число колонок на странице |
Width(Ширина) | Определяет ширину колонок в сантиметрах или дюймах |
Spacing(Расстояние) | Определяет расстояние между колонками |
Left margin | Задает ширину левого поля отчета |
Переключатель Print areaсодержит следующие опции:
Опция | Назначение |
Printable page(Печатаемая страница) | Устанавливает режим печати с полями страницы, определяемыми в соответствии с требованиями текущего драйвера печати |
Whole page(Страница в целом) | Устанавливается режим печати с минимальными полями |
Для задания порядка вывода записей в многоколоночных отчетах используется переключатель Column print order(Порядок печати колонок).
Примечание: Для системы нет никакой разницы в использовании для построения отчета таблицы, представления данных или результата выборки оператора SELECT–SQL. В случае использования таблицы или представления, имена полей указываются явно и процедура предпросмотра не вызывает ошибки. При использовании результата оператора выборки, следует выполнить следующую последовательность действий:
– сохранить результат в курсор;
– в конструкторе отчетов явно указать имя курсора и поле из него в качестве источника данных для выводимых значений. (Символом разделителем служит точка Cursor1.Field1);
– запустить отчет.
обычно этот способ используют в программном коде кнопок управления на экранных формах, при этом сам код может выглядеть следующим образом:
*производим выборку в курсор temp1
SELECT * FROM Goods INTO CURSOR temp1
*запускаем отчет на предпросмотр
*в полях отчета ОБЯЗАТЕЛЬНО должны быть явные ссылки на выбранные поля в курсоре
*в нашем случае это temp1.icdgoods или temp1.cnmgoods
REPORT FORM Report1 PREVIEW
*закрываем временный курсор temp1, чтоб не засорять память
SELECT temp1
use
Задания
- Создайте отчет для справочника товара. Данные должны быть сгруппированы по группе товара.
- Создайте отчет по произведенным заказам, относящимся к каждому покупателю.
- Создайте отчет по каждому заказу с выводом общей суммы заказа и перечислением всех товаров, входящих в заказ.
- Отметьте разницу между использованием для просмотра данных форм и отчетов.
- Создайте отчет по клиентам и приобретенным ими товарами, проведите группировку в отчете по клиентам и разместив в отчете итоговую сумму приобретенных товаров.
- Подготовьте данные для печати адресов, наклеиваемых на конверты для отправки клиентам. Образец отчета приведен ниже. В качестве источника следует использовать данные из таблицы Customer.
Куда: 63009 Россия Новосибирск, ул. Ильича, д. 34 АО Новости Кому: Смельченко П. И. Обратный адрес: 103617 Россия Москва, ул. Солнечная, 12 ООО «МИР ПК» | Куда: 173024 Россия Москва, ул. Свободы, д. 16 Банк Программ Кому: Ивлеву М.И. Обратный адрес: 103617 Россия Москва, ул. Солнечная, 12 ООО «МИР ПК» |
Куда: 63009 Россия Новосибирск, ул. Ильича, д. 34 АО Новости Кому: Смельченко П. И. Обратный адрес: 103617 Россия Москва, ул. Солнечная, 12 ООО «МИР ПК» | Куда: 173024 Россия Москва, ул. Свободы, д. 16 Банк Программ Кому: Ивлеву М.И. Обратный адрес: 103617 Россия Москва, ул. Солнечная, 12 ООО «МИР ПК» |
Лабораторная работа № 9