![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
RPTwin позволяет преобразовать в формулу любое поле данных. Для
этого в диалоге Data Field Properties (см. рис. 3. 2. 4) следует щелкнуть
по кнопке Formula Editor. Возникает диалог Formula Editor (рис. 3. 2. 10).
По умолчанию в верхнем поле диалога (Formula) отображается имя те-
кущего поля данных отчета. В это поле следует внести текст создаваемой
формулы. В левом списке диалога DataSet Columns содержится список ко-
лонок файла данных отчета, в правом (Functions) - список функций RPTwin.
В нижнем списке (Operators) содержится список операторов. Для внесения
колонки, функции или оператора в текст формулы следует дважды щелк-
нуть по соответствующей строчке списка. Группа кнопок Edit облегчает ре-
дактирование текста формулы. Текст формулы должен удовлетворять тре-
бованиям синтаксиса формул RPTwin. Если формула содержит ошибку,
то при закрытии диалога Formula Editor (кнопка OK) возникнет диалог RPT-
win с сообщением об ошибке.
Рассмотрим синтаксические правила формул RPTwin.
Имена колонок. Имена колонок не должны начинаться с цифры
и не должны содержать специальных символов (пробел, символ оператора
и т. д.). Имя колонки в примере на рис. 3. 2. 10 содержит пробел, что является
ошибкой. Для использования имен колонок, содержащих специальные символы,
их следует заключить в фигурные скобки. Имена полей, не содержащие специ-
альных символов, можно использовать без скобок. Имя "Arrow Dest. Type"- неверное, имена " {Arrow Dest. Type}" и "Name" - не содержат ошибки. Если
имя колонки содержит пробелы в начале или конце строки, эти пробелы долж-
ны быть заключены в фигурные скобки: "{ Name}" (два пробела в начале имени)
или "{Name }" (два пробела в конце имени).
Операторы. RPTwin поддерживает 3 типа операторов:
• арифметические: сложение (+), вычитание (-), умножение (*), деле-
ние (/);
• текстовый оператор конкатенации (&);
• операторы сравнения, используемые в предикате конструкции If (<=, <,
=, >=, >);
• логические операторы (is in, contains, and, or, not, is null, is not null).
Арифметические операторы используются в обычном смысле. В арифме-
тических выражениях могут быть использованы круглые скобки, при этом
сначала выполняются действия в скобках.
Оператор конкатенации позволяет сложить значения текстовых полей.
При создании формул, оперирующих с текстом, следует учитывать, что
строковые константы заключаются в двойные кавычки. Так, если значение
поля Arrow Dest. - "Брак", а поля Arrow Name - "Output", то результатом
выполнения формулы "{ Arrow Dest. }& " "&{ Arrow Name }" будет "Брак
Output".
Типы данных. При выполнении действий над данными необходимо со-
блюдать правила соответствия типов. Если создать формулу ""Ar-
row" + 1. 0", то RPTwin выдаст сообщение об ошибке несоответствия ти-
пов - текст не может быть сложен с числом.
RPTwin различает 5 типов данных:
• Number;
• Text;
• Date;
• Time;
• Datetime.
Если возвращаемое значение формулы строка, то в некоторых случаях
при несоответствии типов RPTwin не выдает ошибки, а конвертирует опе-
ранды в соответствующий тип. Например, выражение "3&5" будет выпол-
нено без ошибки. Число 3 конвертируется в строку "3", 5 -в "5", результа-
том выполнения формулы будет строка "35".
Если возвращаемое значение имеет тип Time, в качестве операнда можно
использовать Datetime. Если возвращаемое значение имеет тип Datetime,
в качестве операнда можно использовать Time, при этом в качестве даты
используется 1 января 0001 года.
Арифметические операторы могут использоваться только с числами. Ес-
ли возвращаемое значение число, автоматически конвертация типов
не производится. Для конвертации типов в этом случае следует явно ис-
пользовать функции конвертации (см. табл. 3. 2. 3).
Учитывать типы данных необходимо также, если поля или константы
используются в качестве аргументов функций. Список функций с указанием
типов аргументов приведен в табл. 3. 2. 3.
Дата публикования: 2015-10-09; Прочитано: 291 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!