Базы данных Visual Foxpro

         

Что такое отчет



Что такое отчет

В предыдущих двух главах вы познакомились с инструментами Visual FoxPro, предназначенными для создания форм. Не менее мощные средства предоставляются в распоряжение разработчика для создания отчетов.

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

Отчет — форматированное представление данных, выводимое на экран, принтер или в файл. Отчет, создаваемый в Visual FoxPro, может быть представлен в табличном виде или в свободной форме.

Табличный отчет — это напечатанная таблица, в которой строка представляет собой запись, а каждый из элементов строки содержит поле исходной таблицы или вычисляемое поле. Данные в таблице упорядочены. Табличные отчеты используются для печати данных, представленных в виде списка.

При подготовке писем, почтовых этикеток поля используемых в отчете таблиц должны располагаться в специально выделенных для них местах. В этом случае табличный отчет не подходит и используются отчеты в свободной форме. При создании такого отчета вы можете воспользоваться стандартным форматом, автоматически создаваемым Visual FoxPro для каждой таблицы, в котором поля исходной таблицы располагаются вертикально. Используя конструктор отчетов, вы можете разрабатывать собственные форматы отчета, где поля исходной таблицы будут расположены там, где вам нужно.





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



Глава 7. Создание и печать отчетов

Что такое отчет Рекомендации по созданию отчета Средства создания отчетов Использование мастера для создания однотабличного отчета Просмотр подготовленного отчета Панель инструментов, используемая для просмотра отчета Печать отчета



Использование мастера для создания однотабличного отчета



Использование мастера для создания однотабличного отчета

Для создания отчета с помощью мастера вам необходимо его запустить, а затем в открывающихся диалоговых окнах выбрать таблицы, входящие в отчет, определить список полей отчета и порядок их размещения, указать тип упорядочения данных.

Для запуска мастера отчетов выполните одно из следующих действий:

выберите в меню Tools (Сервис) команду Wizards (Мастера), а затем в открывшемся меню значение Report (Отчет); нажмите кнопку Report Wizard (Мастер отчета) в диалоговом окне New Report (Новый отчет), открываемом при создании нового отчета из окна проекта; нажмите кнопку Wizard (Мастер) диалогового окна New (Новый), открываемого при нажатии кнопки New (Новый) на стандартной панели инструментов или выборе команды New (Новый) из меню File (Файл) и установке опции Report (Отчет).

Рассмотрим создание однотабличного отчета с помощью мастера.

Откройте создаваемый вами проект, например sales. Откройте базу данных проекта. Для этого на вкладке Data (Данные) установите курсор на ее название и нажмите кнопку Open (Открыть) окна проекта. При этом на стандартной панели инструментов в списке Databases (Базы данных) появится название открытой базы данных. Перейдите на вкладку Documents (Документы) и выберите группу Reports (Отчеты). Нажмите кнопку New (Новый) окна проекта (рис. 7.1). В открывшемся диалоговом окне New Report (Новый отчет) (рис. 7.2) выберите опцию Report Wizard (Мастер отчета).

Панель инструментов, используемая для просмотра отчета



Панель инструментов, используемая для просмотра отчета

При открытии отчета в окне предварительного просмотра на экране появляется панель инструментов Print Preview (Предварительный просмотр) (рис. 7.13), позволяющая перемещаться между страницами отчета и распечатать его. Назначение кнопок этой панели инструментов приведено в табл. 7.6.

Печать отчета



Печать отчета

Вы подготовили отчет, просмотрели его в окне предварительного просмотра и убедились, что он выглядит так, как вы хотите. Теперь можно распечатать отчет на принтере, воспользовавшись одним из следующих способов: выберите команду Print (Печать) из меню File (Файл); выберите команду Run Report (Запустить отчет) из меню Report (Отчет); выберите команду Print (Печать) контекстного меню; нажмите кнопку Print One Copy (Печать одной копии) или Run (Запустить) на стандартной панели инструментов Visual FoxPro; нажмите комбинацию клавиш <Ctrl>+<P>.

Открывается диалоговое окно Print (Печать) (рис. 7.14), позволяющее указать имя используемого для печати принтера, изменить, в случае необходимости, его настройки и установить параметры печати.

В верхней части диалогового окна Print (Печать) расположен раскрывающийся список Name (Наименование), позволяющий выбрать тип подключаемого принтера. Эта возможность особенно важна при работе в сети, когда у вас имеется несколько сетевых принтеров.



Просмотр подготовленного отчета



Просмотр подготовленного отчета

Если вы хотите посмотреть, как ваш отчет выглядит, совсем не обязательно его распечатывать. Достаточно открыть его в окне предварительного просмотра, воспользовавшись любым из следующих средств, предоставляемых в ваше распоряжение программой Visual FoxPro: команда Print Preview (Просмотр печати) из меню File (Файл); команда Preview (Просмотр) из меню View (Вид); команда Preview (Просмотр) контекстного меню; кнопка Print Preview (Предварительный просмотр) на стандартной панели инструментов Visual FoxPro; кнопка Preview (Просмотр) окна проекта.



Рекомендации по созданию отчета



Рекомендации по созданию отчета

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

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

Получив четкие ответы на поставленные вопросы, вы облегчите свою работу при создании отчета.

Создавая первые отчеты, прежде чем приступить к работе с конструктором отчетов, прорисуйте формат отчета на бумаге. Это избавит вас от ошибок и сократит время, затрачиваемое на разработку отчета.

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





Группа Reports в окне создания проекта



Рис. 7.1. Группа Reports в окне создания проекта




Диалоговое окно New Report



Рис. 7.2. Диалоговое окно New Report


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

Диалоговое окно для выбора типа создаваемого отчета



Рис. 7.3. Диалоговое окно для выбора типа создаваемого отчета


Открывается первое диалоговое окно мастера (рис. 7.4), в котором необходимо указать таблицу, для которой вы создаете отчет, и выбрать размещаемые в отчете поля. В области Databases and tables (Базы данных и таблицы) расположены два списка. Верхний список содержит открытые базы данных, а нижний — таблицы выбранной из верхнего списка базы. Выберите из верхнего списка необходимую базу данных, а из нижнего — таблицу, для которой создаете отчет.

Окно создания однотабличного отчета с помощью мастера



Рис. 7.4. Окно создания однотабличного отчета с помощью мастера


Замечание
Замечание

Может оказаться, что в диалоговом окне мастера списки области Databases and tables (Базы данных и таблицы) пусты или содержат не те данные, которые вы предполагаете использовать для построения отчета. Такая ситуация возникает в том случае, если предварительно вы не открыли необходимую базу данных. Ничего страшного. Для выбора базы данных и входящих в нее таблиц нажмите кнопку, расположенную рядом со списком баз данных. На экране откроется диалоговое окно Open (Открыть), позволяющее найти таблицу, которая будет использоваться в отчете. После выбора таблицы, для которой создается отчет, список Available fields (Имеющиеся поля) будет содержать перечень всех полей таблицы. Вам необходимо из данного перечня перенести в список Selected fields (Выбранные поля) поля, которые вы хотите разместить в создаваемом отчете. Для переноса полей используйте располагающиеся между списками кнопки. После формирования списка отображаемых в отчете полей нажмите кнопку Next (Далее) для перехода к следующему шагу в создании отчета. В следующем диалоговом окне мастера создания отчета необходимо указать поля, по которым будет осуществляться группировка данных в отчете (рис. 7.5).

Определение полей для группировки данных в отчете



Рис. 7.5. Определение полей для группировки данных в отчете


В центре диалогового окна расположены три раскрывающихся списка, позволяющих задать до трех группировок данных в отчете. Эти списки содержат все поля таблицы. Для осуществления группировки данных в отчете выберите нужное поле из раскрывающегося списка 1. При создании второй и третьей группировки используются, соответственно, списки 2 и 3.

Для задания интервала группировки нажмите кнопку Grouping options (Опции группировки). Открывается диалоговое окно Grouping Intervals (Интервалы группировки) (рис. 7.6). Раскрывающийся список Grouping intervals этого окна содержит значения, описанные в табл. 7.2.

Диалоговое окно Grouping Intervals



Рис. 7.6. Диалоговое окно Grouping Intervals


Для формирования в отчете итоговых значений воспользуйтесь диалоговым окном Summary Options (Итоговые опции) (рис. 7.7), открываемым при нажатии кнопки Summary Options (Итоговые опции). В нем содержится таблица, строками которой являются поля таблицы, а столбцами — возможные итоговые значения отчета (табл. 7.3).

Диалоговое окно Summary Options



Рис. 7.7. Диалоговое окно Summary Options


В диалоговом окне Summary Options (Итоговые опции) под таблицей расположен переключатель, управляющий отображением в отчете областей данных (табл. 7.4).



Выбор стиля отображения объектов отчета



Рис. 7.8. Выбор стиля отображения объектов отчета


Список Style (Стиль) содержит несколько вариантов отображения объектов (полей, линий, заголовков и т. д.) в отчете. При выборе стиля мастер позволяет просмотреть, как будут выглядеть элементы отчета. Для этого используется область просмотра в верхнем левом углу диалогового окна. Выбрав стиль, нажмите кнопку Next (Далее), чтобы перейти к следующему шагу.

На четвертом шаге создания отчета необходимо указать порядок размещения объектов в отчете (рис. 7.9) и ориентацию страницы отчета. После того как вы установили требуемые опции, нажмите кнопку Next (Далее).

Установка порядка размещения объектов в отчете



Рис. 7.9. Установка порядка размещения объектов в отчете


На пятом шаге создания отчета с помощью мастера задаются поля, по которым требуется упорядочение данных в отчете (рис. 7.10). Для формирования списка полей, по которым будет осуществляться сортировка, из списка Available fields or index tag (Выбранные поля и индексы), содержащего список всех полей отчета и индексов таблицы, перенесите в список Selected fields (Выбранные поля) требуемые поля в том порядке, в каком будут упорядочиваться данные. Для переноса полей используйте кнопку Add (Добавить) или двойной щелчок мыши на наименовании поля.
Используя опции Ascending (По возрастанию) и Descending (По убыванию), укажите тип сортировки выбранного поля: по возрастанию или по убыванию соответственно.
Сформировав список полей и указав тип сортировки, нажмите кнопку Next (Далее) для перехода к следующему шагу.

Установка критерия упорядочения данных



Рис. 7.10. Установка критерия упорядочения данных


На шестом шаге вы можете задать заголовок отчета, используя для этого поле ввода Type a title for your report (Введите имя заголовка отчета). В этом же диалоговом окне вы можете указать один из трех вариантов дальнейшей работы с отчетом (рис. 7.11) (табл. 7.5).

Заключительный этап создания отчета



Рис. 7.11. Заключительный этап создания отчета




Отчет, созданный с помощью мастера



Рис. 7.12. Отчет, созданный с помощью мастера


На рис. 7.12 представлен отчет, созданный с помощью мастера. Если он вас полностью устраивает, вы можете его распечатать. Но скорее всего, вам захочется в нем что-то изменить. В этом случае откройте созданный отчет в конструкторе отчетов и модифицируйте его.

Замечание
Замечание

При создании отчета с помощью мастера надписи к полям отчета создаются на основе информации, введенной в поле Caption (Надпись) конструктора таблиц Table Designer (Конструктор таблиц). Если это поле пусто, надписи совпадают с именами полей таблицы.



Панель инструментов, используемая в окне предварительного просмотра отчета



Рис. 7.13. Панель инструментов, используемая в окне предварительного просмотра отчета




Диалоговое окно Print



Рис. 7.14. Диалоговое окно Print


Опции области Print range (Печатать) позволяют указать печатаемые страницы и имеют следующее назначение:

All (Все) — печатаются все страницы отчета; Pages (Страницы) — печатаются страницы, номера которых заданы в полях ввода from: (от) и to: (до);

Счетчик области Copies (Копии) позволяет указать количество печатаемых копий отчета.

В случае, если требуется дополнительная настройка параметров принтера, нажмите кнопку Options (Опции). В результате откроется диалоговое окно Print Options (Параметры печати) (рис. 7.15).



Диалоговое окно Print Options



Рис. 7.15. Диалоговое окно Print Options


Поле Туре (Тип) области Print what (Что печатать) позволяет указать тип выводимой на печать информации. Поле File (Файл) содержит наименование и расположение печатаемого файла.

В области Options (Опции) расположены флажки, имеющие назначения, описанные в табл. 7.7.



Диалоговое окно Report...



Рис. 7.16. Диалоговое окно Report and Label Print Options позволяет указать критерий для выбора записей


В диалоговом окне Report and Label Print Options (Параметры печати отчета и этикетки) вы можете указать критерии для выбора записей, печатаемых в отчете (табл. 7.8).



Диалоговое окно Свойства



Рис. 7.17. Диалоговое окно Свойства




Средства создания отчетов



Средства создания отчетов

В Visual FoxPro для создания отчетов можно использовать следующие средства. Report Wizard (Мастер отчета). Позволяет достаточно быстро создать отчет, применяя сортировку, группировку данных и заданный вами стиль оформления. Для создания готового отчета с помощью мастера достаточно ответить на ряд вопросов Report Wizard (Мастер отчета) Visual FoxPro. Report Designer (Конструктор отчета). В конструкторе отчетов вы можете разрабатывать собственные или модифицировать отчеты, созданные с помощью мастера. Quick Report (Быстрый отчет). Данное средство предназначено для размещения в конструкторе отчета полей и задания среды окружения. Разработчику на выбор предлагается два варианта размещения полей.

При создании отчета можно использовать любые средства, предлагаемые Visual FoxPro, какие вам кажутся более удобными. Конечно, больше возможностей предоставляет конструктор отчетов, позволяющий создавать отчеты как в табличном виде, так и в свободной форме. Разработке отчетов средствами конструктора будет посвящена следующая глава.





Типы отчетов



Таблица 7.1. Типы отчетов

Тип отчета Описание
One-to-Many Report Wizard (Мастер отчетов с отношением один-ко-многим) Создает отчет для таблиц с отношением "один-ко-многим"
Report Wizard (Мастер отчетов) Создает простой однотабличный отчет

Для создания простого однотабличного отчета выберите значение Report Wizard и нажмите кнопку ОК.



Описание интервалов группировки раскрывающегося списка Grouping intervals



Таблица 7.2. Описание интервалов группировки раскрывающегося списка Grouping intervals

Интервал группировки Описание
Entire Field (Полное поле) Интервал группировки задается исходя из полного значения поля таблицы
1st Letter (1 буква) Группировка осуществляется по первой букве значения поля таблицы
2, 3,4, 5 Initial Letters (2, 3, 4, 5 начальных букв)

Группировка осуществляется по 2, 3, 4 или 5 первым буквам значения поля таблицы соответственно

Установите необходимое значение и нажмите кнопку ОК.



Итоговые значения отчета



Таблица 7.3. Итоговые значения отчета

Столбец Назначение
Field Наименование поля таблицы, по которому будет вычисляться итоговое значение в отчете
Sum При установке флажка в отчет будет помещена итоговая сумма по данному полю
Avg При установке флажка в отчет будет помещено итоговое среднее значение по данному полю
Count При установке флажка в отчет будет помещено итоговое количество строк
Min При установке флажка в отчет будет помещено минимальное значение поля таблицы
Max При установке флажка в отчет будет помещено максимальное значение поля таблицы

Установите флажки для тех итоговых значений, которые хотите разместить в отчете.



Назначение опций переключателя окна Summary Options



Таблица 7.4. Назначение опций переключателя окна Summary Options

Опция Назначение

Detail and Summary (Область данных и итоги) При установке этой опции в отчете отображается область данных, промежуточные итоговые значения по группировкам и конечные итоговые значения по отчету
Summary only (Только итоги) При установке данной опции в отчете отображается область данных и конечные итоговые значения по отчету
No totals (Нет итогов) Если выбрана эта опция, то в отчете будет отображаться только область данных

В правом нижнем углу диалогового окна Summary Options (Итоговые опции) расположен флажок Calculate percent of total for sums (Вычислить процент итоговых сумм), позволяющий в качестве итогового значения печатать процент промежуточного итогового суммарного значения от конечного итогового суммарного значения по отчету.

Завершив в диалоговом окне Summary Options (Итоговые опции) все необходимые установки, нажмите кнопку ОК.

В следующем диалоговом окне мастера задается стиль отображения объектов в отчете (рис. 7.8).

Опции переключателей окна Report Wizard



Таблица 7.5. Опции переключателей окна Report Wizard - Step 6

Опция Действие
Save report for later use (Сохранить отчет) Созданный отчет сохраняется на диске
Save report and modify it in the Report Designer (Сохранить и открыть в конструкторе для модификации) Созданный отчет сохраняется на диске и открывается в конструкторе отчетов для модификации
Save and print report (Сохранить и распечатать отчет) Созданный отчет сохраняется на диске и печатается
В правом нижнем углу диалогового окна находится кнопка Preview (Просмотр), позволяющая просмотреть созданный отчет. Если созданный отчет не удовлетворяет вашим требованиям, с помощью кнопки Back (Назад) вы можете вернуться к предыдущим шагам построения отчета и изменить установленные там параметры.

Введя заголовок и установив требуемую опцию, для завершения создания отчета с помощью мастера нажмите кнопку Finish (Готово). Открывается диалоговое окно Save As (Сохранить как), в котором введите имя созданного файла.



Кнопки панели инструментов Print Preview



Таблица 7.6. Кнопки панели инструментов Print Preview

Кнопка Назначение
Открывает первую страницу отчета
Открывает предыдущую страницу отчета
Открывает диалоговое окно Go to Page (Переход на страницу) для перехода к заданной странице отчета
Открывает следующую страницу отчета
Открывает последнюю страницу отчета
Изменяет масштаб отображения отчета
Закрывает окно просмотра отчета
Печатает отчет




Назначение флажков окна Print Options



Таблица 7.7. Назначение флажков окна Print Options

Флажок Назначение
Line numbers (Линии нумерации) Печатает в левой части отчета номера строк. Данный флажок используется только при печати содержимого окна команд и временного буфера Windows
Page eject before (Новая страница перед отчетом) Выдает принтеру команду перехода на новую страницу перед печатью отчета
Page eject after (Новая страница после отчета) Выдает принтеру команду перехода на новую страницу после печати отчета
Restore environment (Восстановить окружение)

Используется для совместимости с отчетами FoxPro версий 2.x

При нажатии кнопки Options (Параметры) диалогового окна Print Options открывается диалоговое окно Report and Label Print Options (Параметры печати отчета и этикетки) (рис. 7.16).



Критерии выбора записей



Таблица 7.8. Критерии выбора записей

Критерий Назначение
Scope (Печатаемые записи) Содержит раскрывающийся список Scope (Печатаемые записи), в котором указывается область печатаемых записей
For (Пока) Вызывает построитель выражений, в котором вы создаете логическое выражение, равное True (Истина) для всех печатаемых записей отчета
While (При условии) Вызывает построитель выражений, в котором вы создаете логическое выражение для выбора записей отчета. В отличие от критерия For, печать отчета прекращается при первом же значении выражения, равном False (Ложь)

Для настройки дополнительных параметров печати отчета можно использовать диалоговое окно Свойства (рис. 7.17), открываемое при нажатии кнопки Properties (Свойства) в окне Print (Печать) (см. рис. 7.14).

На вкладке Бумага/Качество данного диалогового окна можно задать тип подачи бумаги в принтер. Вкладка Расположение позволяет указать расположение бумаги (книжная или альбомная), порядок печати страниц. Для того чтобы изменить размер используемой при печати бумаги, качество печати, используйте диалоговое окно Дополнительные возможности, открываемое при нажатии кнопки Дополнительно.