Для размещения в отчете поля, которое может быть полем таблицы или вычисляемым полем, выполните следующие действия:
Рис. 8.12. Диалоговое окно Report Expression
Диалоговое окно Report Expression (Выражение отчета) позволяет:
В поле ввода Expression (Выражение) можно задать поле таблицы или выражение, размещаемое в отчете, а в поле Format (Формат) — формат данных, выводимых на печать.
Используя опции диалогового окна Calculate Field (Вычисляемое поле), открываемого при нажатии кнопки Calculations (Вычисления), можно поместить в отчет статистические значения размещенных в полях данных. Поля данного типа размещаются в отчете, как правило, в колонтитулах, полосах группы и в итоговой части отчета.
Диалоговое окно, открываемое при нажатии кнопки Print When (Условия печати), позволяет задать условия, при которых информация данного поля будет выводиться на печать.
Формирование выражения поля
Чтобы сформировать выражение лля поля, размещаемою и отчете, выполните следующие действия:
Список Fields (Поля) диалогового окна Expression Builder (Построитель выражения) содержит поля помещенных в окружение отчета таблиц, список Variables (Переменные) — системные переменные Visual FoxPro. В области Functions (Функции) размещены строковые, логические, математические функции, а также функции даты и времени. Используя значения из этих списков, сформируйте необходимое выражение лля создаваемого поля.
Совет
Для формирования выражения нет необходимости вводить информацию в поле Expression for Field on Report (Выражение для поля отчета) вручную. Достаточно выбирать требуемое значение из любого списка и щелчком мыши переносить его в это поле.
Рис. 8.13. Определение вычисляемого поля
При создании вычисляемых полей сформируйте выражение и проверьте его правильность с помощью кнопки Verify (Проверить). Например, вы можете отобразить в отчете вместо двух полей, содержащих город и адрес клиента, одно вычисляемое поле, которое содержит полный адрес. Выражение для этого поля имеет следующий вид (рис. 8.13):
ALLTRIM(Customer.cCity)+", "+ ALLTRIM(Customer.cAddress)
Задание формата данных
Диалоговое окно Report Expression (Выражение отчета) позволяет задать формат отображения поля при печати, допуская использование тех же функций форматирования, которые применяются при форматировании полей формы. С помощью форматирования вы можете:
Рис. 8.14. Диалоговое окно Format
Для задания формата поля нажмите кнопку вызова построителя поля Format (Формат). Откроется диалоговое окно Format (Формат) (рис. 8.14), содержащее опции и флажки, позволяющие задать тип данных поля.
Замечание
Кнопки вызова построителя всегда располагаются справа от поля ввода.
Перечень параметров настройки поля определяется выбором соответствующей опции для форматирования полей символьного, числового типов, а также полей дат. Список этих параметров представлен в табл. 8.5—8.7.
Таблица 8.5. Параметры настройки символьных полей
Параметр | Назначение |
То upper case (Верхний регистр) | Символы преобразуются в прописные |
Ignore input mask (Игнорировать маску ввода) | Отображает на экране, но не сохраняет в заданном формате в таблице |
SET DATE format (В виде даты) | Данные отображаются в виде даты в формате, установленном командой SET DATE |
British date (Европейская дата) | Данные отображаются в виде даты в европейском формате |
Left justify (Сдвинуть влево) | Данные выравниваются по левому краю поля |
Right justify (Сдвинуть вправо) | Данные выравниваются по правому краю поля |
Center justify (По центру) | Данные в поле центрируются |
Таблица 8.6. Параметры настройки числовых полей
Параметр | Назначение |
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 (Экспоненциально) | Отображает число в экспоненциальном формате |
Таблица 8.7. Параметры настройки полей типа дата
Параметр | Назначение |
SET DATE format (В виде даты) | Дата отображается в формате, установленном командой set date |
British date (Европейская дата) | Дата отображается в европейском формате |
Задание условий печати
Для задания условий печати данных отчета используется диалоговое окно Print When (Условие печати) (рис. S.15), открываемое из диалогового окна Report Expression (Выражение отчета) нажатием кнопки Print When (Условие печати). С помощью параметров этого окна вы можете удалить из отчета пустые строки, определить условия печати значений полей при переходе на следующую страницу пли при изменении выражения группы и т. п.
Рис. 8.15. Диалоговое окно Print When
Для подавления печати повторяющихся значений полей используется значение No (Нет) переключателя Print repeated values (Печатать повторяющиеся значения). При устаноатенном значении Yes (Да) печатаются все значения поля.
Область Also print (Печатать) содержит флажки (табл. 8.8).
Таблица 8.8. Флажки области Also print
Флажок | Назначение |
In first whole band of new page/column (Ha первой целой полосе новой страницы/колонки) | Поле печатается в первой полосе новой страницы или колонки |
When this group changes (При изменении группы) | Поле печатается при изменении группы, выбранной в списке групп |
When detail overflows to new page/column (При переходе на новую страницу/колонку) | Поле печатается при переходе полосы Detail на новую страницу |
При установке флажка Remove line if blank (Удалять пустые строки) пустые строки удаляются из отчета.
В иоле Print only when expression is true (Печатать, если истинно), используя построитель выражения, можно задать выражение, вычисляемое перед печатью данного поля. Если значение выражения ложно, то значение поля печататься не будет.
Расположение поля в полосе
Диалоговое окно Report Expression (см. рис. 8.12) содержит переключатель Field position (Положение поля), позволяющий управлять расположением поля в полосе (табл. 8.9).
Таблица 8.9. Опции диалогового окна Report Expression
Опция | Характеристика |
Float (Плавающее) | Позиция поля в отчете может изменяться при изменении размеров окружающих его полей |
Fix relative to top of band (Постоянное относительно верхней полосы) | Поле сохраняет постоянную позицию относительно верхней границы полосы |
Fix relative to bottom of band (Постоянное относительно нижней полосы) | Поле сохраняет постоянную позицию относительно нижней границы полосы |
Размещение итогового поля
В колонтитулах, полосах группы, в итоговой части отчета, а также в полосе Detail (Детали) можно размещать поля, содержащие статистические значения полей отчета.
Замечание
Итоговые поля, размещаемые в полосе Detail (Детали), предназначены для вывода значений нарастающих итогов.
Для определения поля в качестве итогового выполните следующие действия:
Рис. 8.16. Диалоговое окно Calculate Field
Диалоговое окно Calculate Field (Вычисление поля) содержит опции (табл. 8.10).
Таблица 8.10. Опции диалогового окна Calculate Field
Опция | Назначение |
Nothing (Ничего) | Над полем не производится вычислений |
Count (Сосчитать) | Вычисляется количество значений поля (сами значения поля не используются) |
Sum (Сумма) | Вычисляется итоговая сумма значений поля |
Average (Среднее арифметическое) | Вычисляется среднее арифметическое значение поля |
Lowest (Наименьшее) | Отображается наименьшее значение поля |
Highest (Наибольшее) | Отображается наибольшее значение поля |
Standard deviation (Квадратный корень из дисперсии) | Возвращается квадратный корень из дисперсии |
Variance (Отклонение от среднего) | Возвращается статистическая величина отклонения отдельных значений поля от среднего в группе |
Замечание
В верхней части диалогового окна находится список Reset (Сброс), используя который, вы можете определить момент обнуления итогового поля.