Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Можно ли к TQuery добавить калькулируемое поле? [D5]


vvolkov ©   (2002-12-28 16:12:00) 

Если можно то как. Интересует не поле которое вычисляется внутри запроса, а поле значение которого вычисляется в OnCalcFields


stranger71   (2002-12-29 10:06:00) [1]

А какое значение прописано в твоем QueryXX.AutoCalcFields?


Big_Rom   (2002-12-29 06:24:00) [2]

странно у меня все работало как описано выше и с IBQuery и
Query может viseble:=false стоит ?


kaif   (2002-12-29 04:01:00) [3]

Странно. Я правда с TQuery не работаю. В основном работаю с TIBQuery. Но эта функциональность должна быть обеспечена и в TQuery тоже. А иначе что же тогда делает OnCalcField ?
Может, при задании поля через Add Field забыли уточнить, что оно типа ftCalculated? Тогда можно это прямо в ObjectInspector-е исправить, выбрав это поле в FieldsEditor-е


vvolkov   (2002-12-28 16:32:00) [4]

В том то и проблема, что не работает. Эти поля просто не показываются потом в DBGrid. Более того метод OnCalculate не вызвается!


Vovkin   (2002-12-28 16:21:00) [5]

в FieldsEditor (dbl click на TQuery или правый клик) нажимаешь правую княпу, Add Field ..., прописываешь имя поля, тип, размер( если нужно) а затем в OnCalckFields пишешь что-то типа TQuery1Field1.Value := "sily but complete", хотя на личном опыте убедился, что это не хороший путь, тормозной очень


kaif   (2002-12-28 16:19:00) [6]

Конечно можно. Вызываешь стандартный редактор полей и в контекстном меню выбираешь New field. В свойствах указываешь Calculated и вперед - писать обработчик в OnCalcFields путем чего-то вроде FieldByName("MY_CALC_FIELD").As... := ....
Это работает и для ReadOnly наборов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо