Функция Next

Оценить
(0 голоса)

If {Customer.Counry Name} = Next({Customer.Counry Name}) Then {Customer.Counry Name} + " продолжается на следующей странице."

Функция Next считывает поле в следующей записи «базы данных. Данная формула сравнивает поле р следующей записи с таким же полем в текущей записи. Если значения совпадут, то на следующей странице в первой записи будет отображено имя этого же заказчика, о чем будет информировать соответствующее текстовое сообщение. Как правило, подобные формулы размещаются в нижнем колонтитуле страницы.

Совет, Обратите внимание на то, что в данной формуле нет конструкции Else. В синтаксисе Crystal наличие этой конструкции в формуле If-Then-Else не является обязательным. Если конструкция Else не будет добавлена и проверка вернет false, формула создаст пустую строку.

•    Функция InRepeatedGroupHeader If InRepeatedGroupHeader Then

GroupName ({Customer.Counry Name}) + " - продолжение -"

Else

GroupName ({Customer.Counry Name})

Если вы поместите эту формулу в заголовок группы, для которой был установлен флажок Repeat Group Header on Each New Page (Повторять заголовок группы на каждой странице) (этот флажок может быть установлен как во время создания группы, так и во время внесения в нее изменений; см. главу 3), строка " - продолжение -и будет отображаться только при повторении заголовка группы. А функция GroupName в этой формуле используется для возврата поля имени конкретной группы. Проверка InRepeatedGroupHeader также может пригодиться и в случае, если вы присваиваете новые значения переменным в формулах, помещаемым в заголовок группы (пред

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

If Not InRepeatedGroupHeader Then Groupbonus := 0

Другие логические конструкции Crystal Reports

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

Термин логическая конструкция употребляется по отношению к тем средствам языка формул Crystal Reports, которые позволяют выходить за пределы базовой логики if- Then-Else. Например, довольно-таки утомительно выписывать длинные повторяющиеся формулы типа If-Then-Else для решения таких задач, как проверка большого количества условий, выборка отдельных частей строк или циклический просмотр многозначных полей либо других видов массивов. Логические функции Crystal Reports типа операторов Select Case, циклов For и циклов Do существенно облегчают выполнение этих задач. Благодаря этим функциями язык формул Crystal Reports все больше и больше становится похожим на стандартный процедурный язык, такой например, как Visual Basic.

Оператор Select Case
Цикл For
Цикл While Do
Булевские формулы
Переменные в формулах и времена вычисления

Добавить комментарий


Защитный код
Обновить