xxbabayxx писав:И снова здрасте)
Вобщем у меня еще один вопросик. Могу ли я в коде отчетной формы присвоить значение глобальной переменной, что бы потом это значение прописалось в программе?
Например так: " <DM1.qbCardLease."Cost"> := <DM1.qbCardLease."SumTax"> * 0.03 ; " ?
<DM1.qbCardLease."Cost"> - это поле БД.
В ГИСе глобальные (служебные) переменные - это переменные, которые рассчитываются самой программой и доступны как для других функций программы, так и в отчетных формах.
Чтоб присвоить значение полю любой таблицы БД, нужно в отчетной форме:
1. Добавить ADO-компонент в отчетную форму: в боковой панели (слева) Компоненты ADO/ Запрос ADO(ADOQuery1).
2. в программном коде, после присвоения переменной вычисляемого значения <DM1.qbCardLease."SumTax"> * 0.03 - выполнить запрос для обновления поля БД
Код: Виділити все
VAR
Cost : Double;
BEGIN
Cost := 0;
.....
Cost := DM1.qbCardLease."SumTax"> * 0.03;
With ADOQuery1 Do
Begin
Close;
SQL.Text := 'Update Lease Set Cost='+FloatToStr( Cost)+'Where ID_Lease = (Select ID_Lease From LeasePoly Where ID_Object='+IntToStr( <DM1.QbObject."ID_Object">)+')';
ExecSQL;
End;
.....
END.
p.s. Таблица qbCardLease это результат объединение двух таблиц Lease и LeasePoly, поэтому в зависимости от поля, которому нужно присвоить значение, в запросе нужно указывать конкретную таблицу.