Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание базы данных.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.72 Mб
Скачать

Технология работы

Создание отчета

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

Например, необходимо спроектировать отчет, который будет выводить информацию поступившем товаре и рассчитывать сумму за товар с НДС. В данном отчете будут участвовать поля из пяти баз данных. Перед тем, как начать проектировать стандартный отчет, вначале необходимо открыть эти базы данных в окне Вид и установить между ними отношения 1-к-многим (рис. 2.1).

Рис. 2.1. Диалоговое окно Вид

Затем выбрать команду Файлñ Создать, установить опцию Отчет и нажать командную кнопку Создать. FoxPro откроет диалоговое окно проектирования отчета (рис. 2.2)

Примечание:

Окно проектирования отчета можно также вызвать, вводя в окно директив директиву CREAТЕ REPORT.

Встраивание элементов

На левом краю окна проектирования находится инструментальное меню (рис. 2.2). В этом пиктографическом меню представлены все элементы, которые можно применить при построении отчета.

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

Рис. 2.2. Диалоговое окно проектирования отчета

Области отчета

Окно проектирования разделено на несколько областей (рис. 2.2). Под каждой областью на разделительной полосе, отделяющей эту область от следующей, приведено имя области. Разделительные полосы между областями можно передвигать вверх/вниз по экрану, увеличивая или уменьшая место под соответствующую область. Каждая разделительная полоса на левом краю имеет манипулятор перемещения. Буксируя его мышью, можно сдвигать эту полосу. Перемещение полосы изменяет размер только той области, которая расположена над полосой, все остальные области если и перемещаются, то без изменения размера.

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

Область

Функция

Титул

Содержит заголовок отчета и другую идентифицирующую информацию и появляется однажды в начале отчета.

Верхний колонтитул

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

Группа сверху

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

Детали

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

Группа снизу

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

Нижний колонтитул

Распечатывается внизу на каждой странице и содержит любую информацию, например, номер страницы.

Итоги

Стоит в конце отчета и распечатывается только один раз.

Примечание:

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

Создание стандартного отчета.

Наряду с созданием сложных, персонализированных отчетов, FoxPro предлагает возможность пользоваться стандартными отчетами. Простой стандартный отчет можно создать, вызывая директиву Отчетñ Стандартный отчет.... В общем случае эту директиву можно выбрать только тогда, когда в окне проектирования в отчет еще не вставлены никакие элементы. После обращения к этой директиве появляется диалог проектирования стандартного отчета (рис. 2.3).

Рис. 2.3. Диалоговое окно создания стандартного отчета

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

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

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

Поля. При активизации данного контрольного индикатора FoxPro открывает диалоговое окно, в котор6м пользователь выбирает поля, которые должны быть приняты в отчет.

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

Отмените оба контрольных индикатора Заголовки и Добавить алиас. Отметьте крестиком опцию Поля..., чтобы выбрать поля для отчета.

В диалоговом окне Выбор полей приведен список всех полей открытой базы данных (рис. 2.4). Если в различных рабочих областях открыто параллельно несколько баз данных, как в нашем случае, то из комбинированного списка Таблица нужно выбрать по очереди все базы данных, добавляя из каждой базы данных нужные поля. В отчете могут использоваться не все поля базы данных, а только некоторые из них.

Из левого списка Все поля... поля базы данных переносятся в выбранной последовательности в правый список Выбранные поля... и исключаются из левого. Список выбранных полей подтверждается нажатием командной кнопки ОК, а затем аналогично закрывается диалоговое окно Стандартный отчет. FoxPro мгновенно изготавливает стандартный отчет и выбранные поля базы данных в заданной последовательности вставляет в область Детали окна проектирования.

Рис.2.4. Выбор полей

В нижнем колонтитуле стоят две функции, которые автоматически добавляются в FoxPro-стандартные отчеты. Выровненная по левому краю там располагается функция DATE(), распечатывающая активную дату, во время распечатки отчета. Выровненная по правому краю функция PAGENO() автоматически пронумерует отдельные страницы отчета.

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

Выделение полей

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

Изменение шрифта полей

Чтобы изменить тип шрифта, размер символов и т.д., необходимо выделить все поля участвующие в отчете и выбрать команду Объектñ Шрифт. FoxPro откроет диалоговое окно Шрифт (рис. 2.5).

Рис. 2.5. Диалоговое окно видов шрифта

Размещение полей

Поля в области Детали можно расположить произвольным образом (рис. 2.6), установив указатель мыши на нужном поле и, зафиксировав левую клавишу мыши, переместить его в другое место области.

Рис.2.6. Перенесенные поля

Изменение размера поля

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

Титул и итоги

Для создания в отчете титула и итогов пользователю необходимо выбрать команду Отчетñ Титул и Итоги.... FoxPro откроет диалоговое окно Титул и итоги (рис. 2.7), где нужно отметить галочками оба контрольных индикатора Полоса титула и Полоса итогов.

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

Рис.2.7. Определение титула и итогов отчета

Рис. 2.8. Оформленный титул отчета

Объединение данных в группу

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

Чтобы задать параметры группу нужно выбрать команду Отчетñ Группировка.... FoxPro откроет диалоговое окно Группировка данных (рис. 2.9).

Рис.2.9. Диалоговое окно объединения данных в группу

Список групп пока пуст. Определение новой группе дается щелчком на командной кнопке Добавить.... После чего появляется следующее диалоговое окно с именем Группа данных (рис. 7.10).

Рис. 2.10. Определение группы

Посредством командной кнопки Группа... вызовите Редактор Выражений. Задайте в нем ключ, по которому должны быть сгруппированы данные (рис. 2.11). Так как к одной группе должны причисляться записи, относящиеся к одной категории товара, то в качестве группировочного ключа рекомендуется использовать поле Vid_tov (категория товара).

Рис.2.11. Выбор группировочного ключа

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

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

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

Активизируем опцию Новая страница, чтобы для каждой категории товара FoxPro начинала список товаров с новой страницы – так нагляднее.

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

Записи в готовом отчете будут сгруппированы по категории товара. В окно проектирования отчета введены две новые области Группа сверху и Группа снизу (рис. 2.12). Поле Vid_tov, включая относящуюся к нему надпись, нужно перенести в область группа сверху (заголовок группы).

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

Рис.2.12. Область группы

Обработка полей

В данном отчете используются поля содержащие стоимость товара, например: Zena (цена за штуку) и Sum_plat (сумма оплаченного товара). Желательно чтобы такие данные в отчете имели денежную единицу измерения. Для этого необходимо выполнить двойной щелчок мышью на поле Zena. FoxPro откроет диалоговое окно Выражение отчета (рис. 2.13).

Рис. 2.13. Диалоговое окно Выражение отчета

В поле ввода рядом с кнопкой Выражение... стоит имя выбранного поля. Чтобы сформатировать формат данного поля нужно щелкнуть мышью на командной кнопке Формат…. Открывается диалоговое окно выбора формата изображения (рис. 2.14).

Содержимое этого окна меняется в зависимости от того, какое поле обрабатывается: текстовое, числовое или даты (выбрать можно с помощью селекторной кнопки под полем Формат).

Рис.2.14. Окно формата с опциями для числовых полей

Вычисляемые поля

Теперь добавим вычисляемое поле, которое будет содержать общую нетто-цену товара, рассчитываемую из количества данного товара, цены за штуку и ставки НДС. Тот, кто позднее будет изучать отчет, наверняка не захочет самостоятельно вычислять с помощью калькулятора стоимость каждого товара и будет благодарен разработчикам, если результат будет содержаться в отчете. К счастью, FoxPro предлагает пользователю возможность создать такое вычисляемое поле, не затрачивая на это слишком много рабочего времени.

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

Сначала нужно выполнить щелчок мышью на инструменте – Поле данных в инструментальном меню и установить курсор ниже надписи Всего, начертив при этом мышью прямоугольник создаваемого поля. Отпустив кнопку мыши, появится диалоговое окно Выражение отчета (рис. 2.15).

Выполнив щелчок мышью на командной кнопке Выражение..., FoxPro открывает окно Редактора Выражений (рис. 2.16).

Рис.2.15. Диалоговое окно Выражение отчета

В поле описания вычисляемого выражения Выражение для поля в отчете в центре диалогового окна Редактора выражений нужно ввести формулу, по которой можно рассчитать содержимое нового поля (рис. 7.16).

Рис. 2.16. Окно Конструктора выражений

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

Поле нетто-цены должно содержать денежную величину, и ее следует сформатировать соответствующим образом. Щелкнув мышью на командной кнопке Формат..., активизируется диалоговое окно Формат (рис. 7.17). Нужно выбрать опцию Число и установить контрольный индикатор опции Денежная единица. Затем нажать командную кнопку ОК. Нетто-цена будет выводиться как денежная величина.

Рис. 2.17. Окно формата для поля нетто-цены

Примечание:

Формат вывода денежных величин (обозначение валюты, количество десятичных разрядов и т.п.) определяется в рамках Вид-окна, на вкладке национальные установки.

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

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

FoxPro откроет диалоговое окно Выражение отчета, где нужно нажать кнопку Выражение....

В диалоговом окне Конструктор выражения, двойным щелчком по полю Kol_vo в области Поля, выбираем его для участия в выражении и нажимаем кнопку ОК (рис. 2.19).

В диалоговом окне Выражение отчета, выбираем опцию Вычислить.... FoxPro открывает диалоговое окно для итоговых вычислений Вычислить поле (рис. 2.20), где выбираем функцию Сумма и указываем интервал вычисляемых значений – Сброс: Spisok.vid_tov.

Рис. 2.18. Диалоговое окно проектирования отчета

Рис. 2.19. Окно Конструктора выражений

Рис. 2.20. Диалоговое окно Вычислить поле

Выбранные настройки подтверждаем нажатием кнопки ОК.

Отчет в режиме предварительного просмотра

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

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

Открывается диалоговое окно Просмотр страницы (рис. 7.21). Здесь готовый отчет можно пролистать с помощью кнопок Назад и Вперед.

С помощью командных кнопок Увеличить или Уменьшить можно изменять масштаб просмотра страницы.

Отчет по работе должен содержать:

Проектные материалы (описание отчетов).

На диске Х:\ файлы, содержащие проекты простых и сложных отчетов.