Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диго С.М. Базы данных проектирование и использование.doc
Скачиваний:
723
Добавлен:
14.05.2016
Размер:
12.04 Mб
Скачать

Вычисления в отчете

В отчетах (так же как и в запросах, формах) можно использовать вычисляемые поля. Мы уже при рассмотрении отчета, полученного с использованием Мастера, встречались с ними и даже корректирова­ли их (речь идет об итоговых показателях, номерах страниц, дате). Теперь рассмотрим, как можно создавать вычисляемые поля. Поскольку вычисляемое поле, как следует из его названия, является полем, то для включения в отчет следует использовать элемент-поле. Выб­рав этот элемент на панели элементов, необходимо позиционировать курсор на нужном месте отчета. При этом в отчете создается элемент, включающий две части - имя поля и значение поля. Внутри прямоу­гольника, соответствующего имени поля, написано «Имя N», а внут­ри прямоугольника, соответствующего значению поля, написано сло­во «Свободный». Чтобы ввести выражение для вычисления значения поля, следует выделить соответствующий элемент, щелчком правой кнопки мыши вывести на экран контекстно зависимое меню, выбрать в нем строку Свойства, в появившемся окне Поле перейти на вкладку Данные и в строке Данные ввести требуемое выражение. Оно может вводиться вручную либо строиться с использованием по­строителя выражений. Выражение, вводимое в поле, должно начи­наться со знака равенства. Для того чтобы воспользоваться построи­телем, следует щелкнуть по кнопке с многоточием. Построение вы­ражения выполняется как обычно.

Предположим, что мы хотим ввести в нашу ведомость графу «По­доходный налог» (будем считать, что все сотрудники платят налог в размере 12%). Выражение, записанное в строку «Данные» окна Свой­ства полей, будет иметь вид

= [Оклад] * 0,12.

Чтобы закончить оформление вводимого элемента, перенесем в зону верхнего колонтитула имя этого поля и изменим его название на «Подоходный налог». Ведомость в режиме конструктора теперь имеет вид, представленный на рис. 9.21,а в режиме просмотра - на рис. 9.22.

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

Нередко в отчетах требуется осуществить нумерацию выводимых данных («Номер по порядку»). Для этого может быть использован следующий прием. Создадим в области данных отчета поле, в свой­стве «Данные» которого занесем выражение =1, а в свойстве «Сумма с накоплением» укажем параметр «Для вещего», если необходимо осу­ществить сквозную нумерацию всех детальных строк отчета, и «Для группы», если в каждой группе нумерация должна начинаться зано­во. Мы выбрали для нашего примера последнюю из перечисленных возможностей (рис. 9.23). Далее в зоне верхнего колонтитула введем имя этой колонки. После этого отчет в режиме конструктора примет следующий вид (рис. 9.24).

Ввод нового поля в отчет

Если возникла необходимость дополнительно ввести в отчет ка­кое-то поле из таблицы/запроса, то это можно сделать несколькими способами. Можно пойти тем же путем, что и при создании вычисля­емого поля: создать с помощью панели инструментов элемент-поле и ввести (или выбрать из соответствующей папки при использовании построителей) в него название поля, которое является элементом-ис­точником данных. Но удобнее воспользоваться другой возможностью: вывести на экран список полей источника данных (щелчком по соот­ветствующей кнопке на панели «Конструктор отчетов») и пере­тащить в выбранную область проектируемого отчета нужное поле из него.

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