Visual FoxPro 9.0 SP1 (Часть II): лабораторный практикум / Сост. Л.К. Скодорова, А.А. Ляху – Рыбница, 2010.
Visual FoxPro 9.0 SP1
Часть II
Лабораторный практикум
Рыбница,
УДК 681.3.06
ББК 32.973.2-018
П 78
Visual FoxPro 9.0 SP1 (Часть II): лабораторный практикум / Сост. Л.К. Скодорова, А.А. Ляху – Рыбница, 2010. – 178 с.
Данное учебное пособие предназначено для студентов III курса специальности ПИВЭ (351400) и ПОВТ и АС (220400). Пособие представляет собой подбор теоретического и практического материала с целью обучения студентов основным приемам разработки реляционной базы данных. Пособие содержит шесть лабораторных работ. Цикл предложенных лабораторных работ разработан согласно рабочей программе по дисциплине «Базы данных» в соответствии с государственным образовательным стандартом. В пособии приведен сквозной пример по разделам выполнения всего практикума.
Составители: Л.К. Скодорова, доцент кафедры прикладной информатики,
А.А. Ляху, ст. преп. кафедры физики, математики и информатики
Рецензенты: И.А. Павлинов, доцент кафедры прикладной информатики
А.Б. Глазов, ст. преп., кафедры физики, математики и информатики
Рекомендовано НМС ПГУ им. Т.Г. Шевченко
© ПГУ им. Т.Г. Шевченко, 2010
© Л.К. Скодорова, А.А. Ляху, 2010
СОДЕРЖАНИЕ
Лабораторная работа № 7
Создание отчетов ………………………………..……….…….…...4
Лабораторная работа № 8
Создание табличного отчета ……………………….……..……....47
Лабораторная работа № 9
Система меню приложения …………………..…………...………74
Лабораторная работа № 10
Управление проектом и создание приложений……………..….103
Лабораторная работа № 11
Использование пользовательских классов ……………..………133
Лабораторная работа № 12
Организация взаимодействия с приложениями MS Office ……153
Список литературы……………………………………….………177
Лабораторная работа № 7
Тема: Создание отчетов
Цель:Научиться создавать отчеты с помощью конструктора отчетов. Размещать в отчете различные объекты и производить настройку их.
Общие понятия
Под отчетом понимается формированное представление данных, выводимое на экран, принтер или в файл.
Прежде чем приступить к созданию отчетов вы должны ответить на следующие вопросы:
– С какой целью создается настоящий отчет, и чем он будет вам полезен?
– Какая информация, и из каких таблиц должна быть предоставлена в отчете?
– Какого вида вы предполагаете создать отчет (табличный, в свободной форме или наклейки)?
– Предполагается ли группировка данных?
Четкие ответы на поставленные вопросы облегчат вашу работу при создании отчета.
При знакомстве со средствами Visual FoxPro для создания экранных форм вы могли убедиться в их гибкости и мощности. Аналогичные средства Visual FoxPro предоставляются в ваше распоряжение для создания отчетов. При создании отчетов вы можете воспользоваться стандартными средствами, ускоряющими процесс создания отчета, или разработать для отчета специальный формат, с помощью конструктора отчетов. Конструктор отчетов позволяет создавать отчеты как в табличном виде, так и в свободной форме.
Табличный отчет представляет собой напечатанную таблицу, в которой данные упорядочены по столбцам и строкам. Каждый из столбцов отчета содержит поле исходной таблицы или вычисляемое поле, а строка представляет собой запись. Табличный отчет позволяет напечатать данные из таблиц в наиболее простом и естественном виде. Однако табулированное представление данных в отчете имеет свои недостатки. На практике в ряде случаев (почтовые этикетки, чеки, письма и т.д.) поля исходной таблицы должны располагаться в специально отведенных для них местах отчета. Очевидно, что табличный отчет не пригоден для этих целей.
Отчеты в свободной форме позволяют устранить ограничения, свойственные табличным отчетам. При получении отчета в свободной форме вы можете воспользоваться стандартным форматом, автоматически создаваемым Visual FoxPro для каждой таблицы. В этом формате поля исходной таблицы расположены вертикально. Однако с помощью конструктора отчетов вы можете разработать специальный формат отчета, где поля исходной таблицы будут расположены в требуемых местах отчета.
В Visual FoxPro для создания отчетов используются:
– Мастер отчетов (Report Wizard), позволяющий достаточно быстро создать отчет, выбрав параметры сортировки и группировки данных, стиль отображения данных и их расположение;
– Стандартный отчет (Quick Report), позволяющий создать стандартный отчет, в котором поля отчета располагаются автоматически по внутреннему алгоритму Visual FoxPro;
– Конструктор отчета, в котором вы самостоятельно разрабатываете собственные отчеты.
Окно конструктора отчетов
Любой отчет состоит из пояснительного текста, полей отчета и рамок. Текст носит произвольный характер. Рамки служат для улучшения восприятия информации. Поля отчета могут непосредственно соответствовать полям исходной таблицы или являться результатом вычисления над ними.
При создании и модификации отчетов конструктор отчетов позволяет вам удалять, добавлять, перемещать области вместе с расположенными в них объектами. Вы можете установить цвет и управлять параметрами отображения любых элементов и областей отчета.
Открыть окно конструктора отчетов при создании нового отчета можно одним из следующих способов:
– Выполните команду File | New. В появившемся окне диалога «New» установите опцию Report и нажмите кнопку New File;
– Нажмите кнопку New в окне проекта, выбрав предварительно группу «Reports», и в открывшемся диалоговом окне New Reportвыберите кнопкуNew Report;
– Нажмите кнопку New на стандартной панели инструментов. В открывшемся окне диалога «New» установите опцию Report и нажмите кнопку New File.
Для работы в конструкторе отчетов используются панели инструментов Report Designer (конструктор отчетов) и Report Controls(элементы управления отчетов) (табл.1), а также команды пункта Report.
На рис. 1 представлено окно конструктора отчетов с панелями инструментов «Report Designer» и «Report Controls». Обратите внимание на то, что в строке основного меню появился пункт Report.
Рис. 1. Окно конструктора отчета
.
Таблица 1
Кнопки панели инструментов «Report Controls»
Кнопка | Наименование | Назначение |
Select Objects | Является указателем выбора объектов отчета | |
Label | Размещает текст | |
Field | Размещает поля | |
Line | Рисует линии | |
Rectangle | Рисует прямоугольники | |
Rounded Rectangle | Рисует прямоугольники со скругленными краями | |
Picture/OLE Bound Control | Помещает в отчет рисунок | |
Button Lock | Закрепляет выбор кнопки |
Вся рабочая область конструктора отчетов по умолчанию разбивается на три полосы, ограничиваемые разделительными строками. Наименование полосы отображается на разделительной строке, находящейся непосредственно под этой полосой. При использовании в отчете группирования данных, добавлении в него титульной страницы и итоговых данных появляются дополнительные полосы. Каждая полоса может содержать элементы управления отчетов, такие как, текст, табличные поля, вычисляемые поля, линии, прямоугольники и рисунки.
Типы полос, возможных в отчете (табл. 2).
Основное назначение полосы – определять, когда и где будут печататься размещенные в полосе объекты.
Таблица 2.
Типы полос отчета
Наименование | Описание |
Title (Титульный лист) | Информация, появляющаяся перед основным отчетом и называется титульной. Титулом может быть имя отчета, сопроводительное письмо или любая информация, которую необходимо поместить на первой странице отчета. |
Page Header (Верхний колонтитул страницы) | Информация, которая печатается в начале каждой страницы (верхний колонтитул). Обычно в этой полосе содержится название отчета, текущая дата, номер страницы и т.д. |
Group Header (Верхний колонтитул группы) | Информация, используемая при группировке. При группировке данных группа может иметь верхние полосы, печатаемые до нее. Они помогают идентифицировать информацию, содержащуюся на каждом уровне группировки. |
Detail (Детали) | Данные полей из таблицы или результат вычислений над полями из таблицы. |
Group Footer (Нижний колонтитул группы) | Итоговая информация по группе. |
Page Footer (Нижний колонтитул страницы) | Информация, содержащая название отчета, дату, номер страницы и итоговые значения по данным текущей страницы. |
Summary (Итоги) | Информация, появляющаяся один раз после основного отчета и содержащая итоговые значения или заключительный текст, подводящий итог содержимого отчета. |
Вы можете управлять высотой полосы для добавления в нее текста, полей или просто, чтобы добавить в свой отчет пробелы. Чтобы изменить высоту полосы, выберите нужную полосу (вы увидите двустороннюю стрелку) и опустите ее границу вниз, если вам нужно больше места. В противном случае поднимите границу полосы вверх. Можно также дважды нажать мышью на полосе и ввести высоту в появившемся окне диалога.
Свойство объектов отчета
Любой отчет состоит из объектов: текста, полей отчета, разделительных линий и рамок, графических изображений. Для настройки их свойств используются команды меню, а также диалоговое окно, которое можно открыть одним из следующих способов:
· дважды щелкните кнопкой мыши на объекте;
· выберите из контекстного меню объекта команду Properties.
Окно свойств содержит несколько вкладок, количество которых различно для разных объектов (рис.7).
Вкладка General (Общие) окна свойств, предназначена для настройки общих параметров объекта.
Расположение объекта в полосе отчета задается переключателем Object position (Положение объекта), который содержит опции, приведенные в табл. 4.
Таблица 4.
Опции переключателя Object position
Опция | Назначение |
Float(Плавающие) | Позиция объекта в отчете может измеряться при изменении размеров окружающих его объектов |
Fix relative to top of band(Постоянное относительно верхнее полосы) | Объект сохраняет постоянную позицию относительно верхней границы полосы |
Fix relative to bottom of band(Постоянное относительно нижней полосы) | Объект сохраняет постоянную позицию относительно нижней границы полосы |
Рис. 7. Диалоговое окно Label Properties
Область Size and position in layout (Размер и положение в шаблоне) содержит поля, определяющие расположение объектов относительно страницы отчета. Их назначение в
табл. 5.
Таблица 5.
Поля области Size and position in layout
Поле | Назначение |
From page top(От заголовка страницы) | Расстояние от заголовка страницы до объекта |
From left(От левой стороны страницы) | Расстояние от левой стороны страницы до объекта |
Height(Высота) | Высота объекта |
Width(Ширина) | Ширина объекта |
Вкладка Style(Стиль) диалогового окна свойств (рис.8) предназначена для настройки оформления объекта. Для текстовых объектов отчета (надпись, поле) на вкладке Styleрасположена область Font(Шрифт), предназначенная для настройки оформления объекта (Табл. 6).
Таблица 6.
Флажки области Font
Флажок | Назначение |
Use font script (Использовать наборсимволов) | Указывает на использование набора символов, заданного при настройке шрифтов в диалоговом окне Шрифт |
Strikethrough(Зачеркнутый) | Текст перечеркнут сплошной линией |
Underline(Подчеркнутый) | Текст подчеркнут сплошной линией |
Область Color (Цвет) содержит флажки, приведенные в табл. 7.
Таблица 7.
Флажки область Color
Флажок | Назначение |
Use default foreground (pen) color(Использовать для цвета текста значение по умолчанию) | Указывает, какой цвет использовать для текста, значение устанавливается по умолчанию или задается с помощью диалогового окна Цвет |
Use default background (fill) color(Использовать для цвета фона значение по умолчанию) | Указывает, какой цвет использовать для фона, значение устанавливается по умолчанию или задается с помощью диалогового окна Цвет |
Рис. 8. Вкладка Style диалогового окна Label Properties
Вкладка Print when окна свойств используется для задания условий печати объектов отчета (рис. 9). С помощью параметров этой вкладки вы можете удалить из отчета пустые строки, определить условия печати значений полей при переходе на следующею страницу или при изменении выражения группы и т. п.
Для подавления печати повторяющихся значений объекта используются значение No переключателя Print repeated values (Печатать повторяющиеся значения). При установленном значении Yes печатаются все значения объекта.
Область Also print (Печатать) содержит флажки, описание которых приводится в табл. 8.
Рис. 9. Вкладка Print when диалогового окна Label Properties
Таблица 8.
Флажки области Also print
Флажок | Назначение |
In first whole band of new page/column (На первой целой полосе новой страницы/колонки) | Объект печатается в первой полосе новой страницы или колонки |
When this data group expression changes (При изменении значения выражения группы) | Объект печатается при изменении значения выражения группы, выбранной в списке групп |
When band content to new page/column (При переходе на новую страницу/колонну) | Объект печатается при переходе полосы Detail на новую страницу/колонку |
При установке флажка Remove line if blank (Удалять пустые строки) пустые строки удаляются из отчета.
В поле Print only when expression is true (Печатать, если истинно), используя построитель выражения, можно задать выражение, вычисляемое перед печатью данного объекта. Если значение выражения ложно, то значение объекта печататься не будет.
Вкладка Protection (Защита) (рис. 10) устанавливает защиту от изменения объектов отчета с помощью конструктора отчетов. Она содержит флажки, описание которых приведено в табл. 9.
Таблица 9.
Флажки вкладки Protection
Флажок | Назначение |
Object cannot be moved or resized(Объект не может быть изменен или перемещен в размерах) | Запрещает перемещение и изменение размера объекта |
Object cannot be edited (Объект не может редактироваться) | Запрещает редактирование объекта |
Object cannot be deleted (Объект не может быть удален) | Запрещает удаление объекта |
Object cannot be selected (Объект не может быть выбран) | Объект не может быть выбран для изменения |
Object is not visible in Designer (Объект не виден в конструкторе) | Объект не видим в конструкторе |
Для того чтобы свойства по защите вступили в силу, необходимо открыть отчет с ключом Protection. Например, MODIFY REPORT MyReport PROTECTED.
Рис. 10. Вкладка Protection диалогового окна Label Properties
Вкладка Other(Другие) (рис. 11) диалогового окна свойств объекта отчета содержит дополнительные возможности для объектов отчета.
Рис. 11. Вкладка Other диалогового окна Label Properties
Вкладка содержит кнопки, назначение которых описано в табл. 10.
Таблица 10.
Кнопки вкладки Other
Кнопки | Назначение |
Edit comment (Редактирование комментария) | Открывает диалоговое окно комментария к объекту отчета |
Edit user data (Редактирование пользовательских данных) | Открывает диалоговое окно, в котором вы можете добавлять или редактировать пользовательские данные |
Edit tooltip (Редактирование всплывающих подсказок) | Открывает диалоговое окно для ввода всплывающей подсказки, которая будет появляться при выборе объекта в конструкторе отчетов |
Edit settings (Редактирование настроек) | Определяются настройки, которые могут использоваться внешним кодом в процессе формирования отчета |
Размещение полей
Для размещения в отчете поля, которое может быть полем таблицы или вычисляемым полем, выполните следующие действия:
1. Нажмите кнопку Field (Поле) на панели инструментов Report Controls.
2. Щелкните мышью в месте предполагаемого размещения поля в окне конструктора отчета.
3. Открывается диалоговое окно Field Properties (Свойства полей)(рис.12). Используя объекты интерфейса вкладок, настройте параметры поля. Окно свойств позволяет:
· определить источник данных или задать выражение, результат вычисления которого будет выводиться в данное поле;
· задать формат отображения данных в поле;
· указать условие печати;
· установить положение поля в отчете.
4. Завершив настройку параметров, закройте окно свойств, нажав кнопку ОК.
Для размещения поля в отчете можно также использовать метод перенести-и-оставить. Откройте окно Data Environment (Среда окружения) отчета, установите курсор на название размещаемого поля, нажмите кнопку мыши и, удерживая ее в нажатом состоянии, переместите курсор в место предполагаемого размещения в отчете, после чего отпустите кнопку мыши. Если в конструкторе таблицы для поля задано свойство Caption(Надпись), поле разместится в отчете вместе с надписью.
Рис. 12. Диалоговое окно Field Properties
Формирование выражения поля
Для определения выражения, результат выражения которого будет в размещенное в отчете поле, предназначено поле Expression (Выражение) вкладка General (Общие) окна свойств Field Properties.
Выражение в это поле может быть введено вручную или задано с помощью построителя, открываемого нажатием расположенной справа от поля кнопки. При этом на экране откроется диалоговое окно Expression Builder(Построитель выражения) (рис.13), где в поле Expression(Выражение) необходимо задать требуемое выражение.
Рис. 13. Определение вычисляемого поля
Список Fields (Поля) диалогового окна Expression Builderсодержит поля помещенных в окружение отчета таблиц и список Variables (Переменные) – системные переменные Visual FoxPro. В области Functions(Функция) размещены строковые, логические, математические функции, а также функции даты и времени. Используя значения из этих списков, сформируйте необходимое выражение для создаваемого поля.
Для формирования выражения нет необходимости вводить информацию в поле Expressionвручную. Достаточно выбрать требуемое значение из любого списка и щелчком мыши перенести его в это поле.
При создании вычисляемых полей сформируйте выражение и проверти его правильность с помощью кнопки Verify(Проверить). Например, вы можете отображать в отчете вместо трех полей cLastName, cFirstName, cSecondName одно вычисляемое поле, которое содержит фамилию и инициалы покупателя. Выражение для этого поля имеет следующий вид:
ALLTRIM(Customer.cLastName)+” ”+SUBSTR(Customer.cFirstName,1,1)
+”.”+SUBSTR(Customer.cSecondName,1,1)+”.”
Например, вы можете отобразить в отчете вместо двух полей, содержащих город и адрес клиента, одно вычисляемое поле, которое содержит полный адрес. Выражение для этого поля имеет следующий вид: ALLTRIM (Customer.cCity) +”, ”+ALLTRIM(Customer.cAddress)
Завершив формирования выражения, нажмите кнопку ОК для закрытия для закрытия диалогового окна Expression Builder.
Задание формата данных
Для задания формата отображения поля при печати предназначена вкладка Format диалогового окна Field Properties (рис.14). Она позволяет:
· преобразовать весь символьный вывод и прописные буквы;
· выравнивать информацию;
· показывать в числах пробелы и десятичные запятые;
· переводить дату из американского формата в европейский и многое другое.
Перечень параметров настройки поля определяется выбором соответствующей опции для формирования полей символьного, числового типов, а также полей дат. Список этих параметров представлен в табл. 11 – 13.
Рис. 14. Вкладка Format диалогового окна Field Properties
Таблица 11.
Параметры настройки символьных полей
Параметры | Назначение |
Переключатель Template characters (Символьный шаблон) | Определяет, как символы шаблона влияют на взаимодействие символа шаблона с символами текстового поля. Переключатель содержит две опции: Overlay (Заменить) и Interleave (Вставлять). Например, если текстовое поле содержит значение АБВ1234, то при установке переключателя Overlayбудет отображаться АБВ – 234 (символ 1 будет заменен дефисом): а при выборе Interleave –АБВ – 1234 |
Переключатель Justification (Выравнивание) | Переключатель содержит опции Left, Right, Center, указывающие на выравнивание данных по левому, правому краю поля и по центру |
To upper case (Верхний регистр) | Символы преобразуются в прописные |
Ignore input mask (Игнорировать маску ввода) | Отображает на экране, но не сохраняет в заданной формате в таблице |
SET DATE format (В виде даты) | Данные отображаются в виде даты в формате установленном командой SET DATE |
British date (Европейская дата) | Данные отображаются в виде даты в европейском формате |
Таблица 12.
Параметры настройки числовых полей
Параметры | Назначение |
Left justify (Сдвинуть в лево) | Число выравнивается по левому полю |
Blank if zero (Пусто, если нуль) | Нуль не печатается |
(Negative) (Отрицательное) | Отрицательные числа заключаются в круглые скобки |
SET DATE format (В виде даты) | Данные отображаются в виде даты в формате, установленном командой SET DATE |
British date (Европейская дата) | Данные отображаются в виде даты в европейском формате |
CR if positive (CR, если положительно) | Если число положительное, поле его становиться CR (кредит) |
DB if negative (DB, если отрицательно) | Если число отрицательное, поле его становиться DB (дебит) |
Leading zeros (Ведущие нули) | Печатаются все ведущие нули |
Currency (Денежная единица) | Данные отображаются в формате денежной единицы, который задается командой SET CURRENCY |
Scientific (Экспоненциально) | Отображает число в экспоненциальном формате |
Таблица 13.
Параметры настройки полей типа дата
Параметры | Назначения |
SET DATE format (В виде даты) | Дата отображается в формате, установленном командой SET DATE |
British date (Европейская дата) | Дата отображается в европейском формате |
Blank if empty (Пусто, если дата не задана ) | Ничего не отображается, если дата пустая |
Размещение итогового поля
В колонтитулах, полосах группы, в итоговой части отчета, а также в полосе Detail можно размещать поля, содержащие статистические значения полей отчета.
Итоговые поля, размещаемые в полосе Detail,предназначены для вывода значений нарастающих итогов.
Для определения поля в качестве итогового выполните следующие действия:
1. Откройте диалоговое окно Field Properties.
2. Используя поле Expressionвкладки General, задайте выражение для поля.
3. Перейти на вкладку Calculate (Вычислить).
4. Используя список Calculate type,выберите математическую операцию над значением выражения, определенного для данного поля (табл. 14).
5. Используя список Reset based on (Сброс значений на основе), укажите момент обнуления итогового поля.
6. Установите требуемые параметры, закройте окно свойств, нажав кнопку ОК.
Таблица 14.
Опции списка Calculate type
Опция | Назначение |
None(Нет) | Над полем не производится вычислений |
Count(Сосчитать) | Вычисляется количество значений поля (сами значения поля не используются) |
Sum(Сумма) | Вычисляется итоговая сумма значений поля |
Average(Сред. Знач.) | Вычисляется среднее арифметическое значений поля |
Lowest(Наименьшее) | Отображается наименьшее значение поля |
Highest(Наибольшее) | Отображается наибольшее значение поля |
Standard deviation (Квадратный корень из дисперсии) | Возвращается квадратный корень из дисперсии |
Variance (Отклонение от среднего) | Возвращается статистическая величина отклонения отдельных значений поля от среднего в группе |
Создание простого отчета
Последовательность действий по созданию отчета для таблицы Customer, содержащей список клиентов:
1. Откройте проект Sales.
2. Откройте базу данных проекта.
3. Выберите группу Reports вкладки Documents и нажмите кнопкуNew.
4. В открывшемся диалоговом окне New Report выберите опцию New Report.
5. Для задания среды окружения отчета откройте диалоговое окно Date Environment, выбрав команду Date Environmentв меню View или из контекстного меню.
6. Для добавления таблицы в окружение отчета в меню Date Environmentвыберите команду Add.
7. В открывшемся диалоговом окне Add Table or View, выберите таблицу Customer и нажмите кнопку Add.Закройте окно Add Table or Viewс помощью кнопки Close. В окне Date Environmentбудет отображена выбранная таблица.
8. Откройте окно свойств таблицы. Для этого установите курсор на ее названии, нажмите правую кнопку мыши и выберите из контекстного меню команду Properties.
9. Выделите свойство Order (Порядок). Для упорядочивания данных в отчете по кодам клиентов в поле изменения свойств нажмите кнопку раскрытия списка и из списка индексов таблицы выберите icdCustomer.
10. Закройте окно Date Environment.
11. Для размещения полей таблицы в отчете воспользуйтесь командой Quick Report в меню Report.
12. Выберите вариант размещения полей по столбцам и нажмите кнопку Fields.
13. В диалогом окне Field Picker(Выбор поля) выберите поля, используя кнопкуMove (Перенести). Нажмите кнопку ОК.
14. Возвратившись в диалоговое окно Quick Report,нажмите кнопку ОК для завершения процедуры размещения полей в отчете.
15. Используя кнопку Label (Метка) панели инструментов Report Controls(Элементы управления отчета), в случае необходимости скорректируйте заголовки полей.
16. Для того чтобы придать отчету законченный вид, добавьте область заголовка отчета, выбрав в меню Reportкоманду Optional Bands (Дополнительные полосы).
17. На вкладке Optional Bands(Дополнительные полосы) диалогового окна Report Properties(Свойства отчета) установите флажок Report has title band (Отчет содержит титульную полосу) и нажмите ОК. в отчете появится полоса Title. Разместите в ней текст заголовка отчета с помощью кнопки Labelпанели инструментов Report Controls (Элементы управления отчета).
18. Просмотрите внешний вид отчета, воспользовавшись командой контекстного меню Preview(Просмотр) (рис. 15).
19. Сохраните отчет.
Рис. 15 Контекстное меню с пунктом предпросмотра отчета
Примечания
1. Для просмотра отчета можно использовать команду REPORT FORM <имя отчета>, например:
REPORT FORM report1
Отчет будет выдан на текущее устройство вывода. По умолчанию – это принтер.
Добавление служебного слова PREVIEW после имени отчета служит для открытия окна предпросмотра, которое выдается на экран, например:
REPORT FORM report1 PREVIEW
Дальнейшую печать можно осуществить используя соответствующий управляющий элемент на панели Print Preview.
2. Если пути поиска файлов в проекте не заданы, рекомендуется указывать полный путь к файлу отчета. Задать путь поиска можно в разделе Tools | Options | File Locations | Search Path.
3. Для более гибкой конфигурации экранного отображения информации в отчетах можно использовать вкладку PRINT WHEN в свойствах элементов отчета (надписях, полях вывода и т.д.) (рис. 9). Значение поля при этом будет выдаваться на экран только в случае, если указанное условия в окне ввода Print only when expression is true, будет принимать логическое значение ИСТИНА. Например, задание условия nunitprice>100 приведет к тому, что на экране будут отображаться значения цен товаров только больше 100, в остальных случаях отобразится пустое место. На отображение других элементов указанное условие не повлияет.
4. Для организации изменения цвета отображения значения поля на экране в зависимости от какого–либо условия можно использовать следующую технологическую последовательность:
– создать два одинаковых поля вывода;
– указать для них желаемые цвета отображения;
– указать непересекающиеся условия печати для каждого поля (непересекающиеся означает, что не должно быть значений, для которых оба логических выражений дают истину. Например: выражения A>=10 и A<10 являются непересекающимися, а A>=10 и A=<10 – пересекаются в точке 10);
– расположить оба поля в одном и том же месте на экране конструктора отчетов. Поля должны визуально накладываться одно на другое.
В этом случае, при предварительном просмотре, на экране будут отображаться надписи разных цветов, в зависимости от значения указанного логического выражения.
5. Экранный вид отчета рассчитывается системой в момент его запуска. Для отображения данных, которые введены в таблицу после запуска отчета, его необходимо пересчитать, т.е. закрыть и открыть отчет заново.
6. В отличие от экранных форм, таблицы, указанные в окружении данных отчета, автоматически системой не открываются. Если указанная таблица не открыта, система выдаст предложение выбрать источник данных для отчета.
Задание
- Создайте отчет для справочника товара с помощью команды Quick Report. Отчет должен содержать только названия товаров и их цены.
- Создайте отчет по заказчикам при помощи конструктора. В отчете должны отражаться данные по фамилиям и инициалам заказчиков, а так же названиям фирм. Названия фирм должны отображаться синим цветом.
- В виде отчета получите данные о номерах заказов и кодах товаров, которые были заказаны.
- Добавьте новый товар при помощи экранной формы в заказ с наименьшим номером. Отметьте, в каком месте появился введенный заказ.
- Установите сортировку в источнике данных предыдущего отчета по номеру заказа. Отметьте разницу между текущим отчетом и отчетом, полученным в п.4.
- Создайте отчет для справочника товаров. Все цены меньше 1000 должны отображаться синим цветом, а от 1000 и выше – красным.
- Добавьте в предыдущий отчет титульный лист, на котором должна отображаться текущая системная дата.
Лабораторная работа № 8
Размещение в отчете рисунка
В отчеты можно включать растровые рисунки, которые улучшают внешний вид отчета. В письмах, рассылаемых клиентам, можно, например, поместить фирменный знак или эмблему фирмы.
Для размещения в отчете рисунка используется кнопка Picture/OLE Bound Control (Изображение/ OLE-объекта) панели инструментов Report Controls (Элементы управления отчета) конструктора отчетов. Нажмите данную кнопку, а затем установите курсор в один из углов области, в которой должен находиться рисунок, и переместите курсор в противоположный угол до образования рамки необходимого размера. При этом открывается диалоговое окно Picture/OLE Bound Properties(Свойство изображения/ OLE-объекта) (рис. 2), в котором вы определяете источник данных рисунка и его параметры. Источником данных может быть файл, поле таблицы типа General, выражение или переменная. Для указания типа источника данных используются опции области Control source type (Тип источника данных), а источника данных – поле Control source(Источник данных).
При размещении в отчете графического изображения на вкладке General(Общие) диалогового окна Picture/OLE Bound Properties(Свойство изображения/ OLE-объекта) установите опцию Image file name (Имя файла изображения). Затем нажмите кнопку выбора файла, расположенную с правой стороны поля Control source(Источник данных).
Рис.2. Диалоговое окно Picture/OLE Bound Properties
В открывшемся диалоговом окне Open Picture (Открыть изображение) выберите требуемый графический файл. Если вы знаете полное имя файла, то можете ввести его непосредственно в поле ввода Control source(Источник данных) без использования диалогового окна Open Picture(Открыть изображение).
В том случае, если вы хотите печатать в отчете изображения, размещенные в поле таблицы (в Visual EoxPro для хранения графических изображений используются поля типа General), на вкладке Generalдиалогового окнаPicture/OLE Bound Propertiesустановите опцию General field name(Имя поля типа General). Затем нажмите кнопку выбора, расположенную с правой стороны поле Control source(Источник данных) и в открывшемся диалоговом окне Expression Builder (Построитель выражения) выберите необходимое поле таблицы.
Если размер выделенной для размещения изображения области и размер самого изображения не совпадают, воспользуйтесь опциями списка If source and frame are different sizes (Если разный размер) (табл.3).
Таблица 3.
Опции списка If source and frame are different sizes
Опции | Режим отображения |
Clip contents (Обрезать содержимое) | Объект фиксируется в левой верхней части рамки, сохраняя первоначальный размер |
Scale contents, Retain shape (Масштабировать, сохраняя форму) | Объект полностью заполняет отведенное ему поле, сохраняя относительные пропорции растрового изображения |
Scale contents, fill the frame (Масштабировать, заполняя рамку) | Объект полностью заполняет отведенное ему поле, в случае необходимости подвергаясь вертикальному или горизонтальному искажению |
Создание табличного отчета
Создадим в конструкторе отчетов табличный отчет, содержащий список заказов, использующий таблицы Ordsalem, Ordsaled, Customer, Goods.
1. Откройте проект Sales.
2. Откройте новое окно в конструкторе отчетов.
3. Откройте окно Data Environment и добавьте в него поочередно таблицы Ordsalem, Ordsaled, Customer, Goods. Связи, установленные между таблицами при создании базы данных, переносятся вместе с таблицами. Упорядочив данные, закройте окно Data Environment. При создании связей между таблицами для данного отчета необходимо учитывать следующее:
a. таблица Ordsalem я