Разработка баз данных в Delphi. 11 Уроков



         

Глава 16 Использование компонента TQREXPR


Из рис.7 видно, что в простейшем отчете выводится дата, составленная из трех полей – DEN, MES, GOD. Объединим значения из этих полей в одно значение, являющееся результатом вычисления выражения. Выражение в отчетах формируется при помощи компонента TQRExpr. Удалим из компонента QRBand2 компоненты QRDBText4, QRDBText5 и QRDBText6, связанные с полями DEN, MES, GOD. Вместо них разместим в отчете компонент TQRExpr (имя QRExpr1).

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

Рис. 8. Окно редактора формул компонента TQRExpr.

В поле Enter expression можно ввести или отредактировать выражение, которое обычно состоит из имен полей НД, преобразующих функций и переменных, связанных операциями отношения. Имена полей НД добавляются в текущее положение курсора (поле Enter expression) с помощью вспомогательного окна, связанного с кнопкой Function, а переменные – с кнопкой Variable.

Нажмите кнопку Function, в левом окне выберите категорию Other (другие) и функцию STR в правом окне – эта функция преобразует числовое значение в строковое. Нажмите Continue, чтобы перейти к вводу параметров (рис.9). Надпись над строкой ввода окна Expression Wizard напоминает о том, что выбранная нами функция имеет один числовой параметр.

Рис. 9. Формирование части выражения.

Для его ввода нажмите кнопку справа от строки ввода – на экране вновь появится начальное окно редактора формул. Поскольку мы хотим преобразовать в строку номер дня, нажмите кнопку Database field и выберите поле DEN в списке полей таблицы Table1. Нажмите OK, чтобы завершить ввод параметра. В поле Enter expression будет сформирована часть формулы – STR(Table1.DEN). На панели Insert at cursor position нажмем кнопку «+» и вручную введем разделитель ‘.’ (рис.10).

Рис. 10. Создание части формулы выражения.

Продолжите формировать выражение так, чтобы в конце концов оно приобрело такой вид:




Содержание  Назад  Вперед