Форум: "Базы";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
ВнизВычисляемые поля ... Найти похожие ветки
← →
Lina (2002-09-04 13:41) [0]Добрый день!
Есть функция вычиления поля:
procedure TMainForm.Query2CalcFields(DataSet: TDataSet);
begin
<выч. поле>.Value:= <выражение>;
end;
Если вызывать ее из любого места программы:
Query2CalcFields (Query2);
получаю исключение т.к. Query2.state = dsBrowse а не dsCalcFields
Как в любом месте программы пересчитать вычисляемое поле ?
Помогите плз.
← →
Mike Kouzmine (2002-09-04 13:46) [1]Оно пересчитывается автоматически. Не надо явно вызывать. Единственное - св-во CalcFields TQuery должно быть True
← →
Lina (2002-09-04 13:56) [2]В том-то и дело, что нужно вызвать явно ...
← →
Anatoly Podgoretsky (2002-09-04 13:56) [3]Это не стоит делать, написал(а) обработчик и забудь о нем
← →
Mike Kouzmine (2002-09-04 13:57) [4]А зачем явно, если это происходит автоматически? Может можно предложить что-то другое?
← →
oss (2002-09-04 14:04) [5]надо явно, сделай отдельную функцию и вызывай ее где надо,
и квери это не датасет, тип другой
← →
Lina (2002-09-04 14:05) [6]Т.е. никак нельзя явно вызвать обработчик события OnCalcFields
(кроме Query.Next; Query.Prior; Query.Edit и т.п.) ?
← →
Mike Kouzmine (2002-09-04 14:11) [7]По всей видимости при вызове проверяется state, если он не равен dsCalcFields, то исключение. Если ты сможешь корректно перевести набор в этот state, то - флаг в руки.
← →
Дмитрий Калугин (2002-09-04 16:08) [8]извне этот обработчик вызывать нельзя, если надо что-то пересчитать, то тут желательно использовать переменную,
а не выражение. (для лучшей производительности)
procedure TMainForm.Query2CalcFields(DataSet: TDataSet);
begin
<выч. поле>.Value:= < переменная>;
end;
Присвоил новое значение и дай Refresh
← →
Mike Kouzmine (2002-09-04 16:22) [9]Дмитрий Калугин -> А если в вычислении этой переменной учавствуют поля текущей таблицы, то как? Очень спорный совет, мне кажется
← →
Дмитрий Калугин (2002-09-04 17:05) [10]>Mike Kouzmine
А зачем тогда ее вызывать извне вообще?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c