Вниз
Скачать: CL | DM;

Как корректно добавить калькулироемое поле?   Найти похожие ветки 

 
Aleksandr ©   (2003-06-09 16:31) [0]

Проблема в следующем: Текст запроса для TQuery у меня загружается из файла. У самого этого экземпляра TQuery в дизайн-тайме ни одного поля нет - все динамическое. Точно так же из файла грузится список калькулируемых полей (они потом присваиваются TDBText"ам всяким. Но вот проблема - если я перед открытием Датасета добавляю ему калькулируемые поля, то потом при открытии остальные поля динамически не добавляются. Код добавления калькулируемого поля:


procedure AddCalcFields(Dataset : TDataset);
procedure InitField(aFieldName : string);
begin
F:=TStringField.Create(Dataset);
F.FieldName:=aFieldName;
F.Name:=DataSet.Name+F.FieldName;
F.Size:=50;
F.FieldKind:=fkCalculated;
F.ReadOnly:=true;
F.Index:=DataSet.FieldCount;
F.DataSet:=DataSet
end;
begin
if NOT Assigned(Findfield("Field1")) then
InitField("Field1");
...
end;


Соответственно, добавить калькулируемые поля можно только перед открытием набора данных (иначе нельзя вот это: F.DataSet:=DataSet). И добавляются либо калькулируемые, либо физические. Как тут можно сделать, чтобы при открытии добавлялось и то и другое?


 
clickmaker ©   (2003-06-09 18:21) [1]

Если юзаешь MS SQL, то можно на уровне таблицы сделать вычисляемое поле, правда только, если оно вычисляется на основе других полей из этой же таблицы. Либо где-то описывать этот динамический набор вместе с вычисляемыми и создавать их все приведенным кодом.


 
Aleksandr ©   (2003-06-09 19:08) [2]

Увы, юзается Парадокс. Так-то понятно было бы... А по второму варианту тоже туго - ориентация идет от физической таблице, и из хранимой структуры удалются поля, если они в физической таблице отсутствуют.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-7672
Palladin
2003-06-16 21:57
2003.07.03
подскажите ссылку на


3-7361
off
2003-06-11 10:03
2003.07.03
IB два в одном или как по умному слить два файла *.gdb в один?


14-7633
Knight
2003-06-13 21:14
2003.07.03
Обязательное страхование транспорта...


14-7679
Pat
2003-06-17 01:08
2003.07.03
Система уравнений. Маткад


1-7477
Всеволод Соловьёв
2003-06-20 13:09
2003.07.03
HighLight своими силами.




   Наверх