![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FieldKind:=ftCalculated [D7, dBase, FoxPro]
Kapitan © (2003-04-24 17:05:00)Работаю с TDBF (не важно впринципе тоже самое и с TTable)
Делаем приблизительно следующее:
Dbf.FilePath:=ExtractFilePath(Name);
Dbf.TableName:=ExtractFileName(Name);
Dbf.FieldDefs.Add("COMPLY",ftInteger,0,false);
Поле добавил, а как теперь сделать его САБЖЕМ ? Чтобы потом можно было обрабатывать в OnCalcFields. Естно интерисует только Run-time вариант.
Kapitan (2003-04-24 17:33:00) [1]Ок спасиба, понял. Тогда если можно вопрос вытекающий. Как добавить все поля из FieldDefs ? Суть в том что в подключаемой таблице уже есть поля и мне нужно добавить два вычисляемых поля. При добавлении методом описаным выше только мои два поля и есть. И как потом очистить список полей, чтобы при подключении другой таблицы с другими полями не возникало проблем ?
Соловьев (2003-04-24 17:07:00) [2]
MySql := TQuery.Create(FirstForm);
with MySql do
begin
DataBaseName := "cadr";
AutoCalcFields := true;
OnCalcFields := MyCalcFields;
with FieldDefs do
begin
Add("phone", ftFloat, 0, true);
FieldDefs[0].CreateField(MySql);
Add("FIO", ftString, 100, true);
FieldDefs[1].CreateField(MySql);
Add("N_D", ftString, 100, true);
FieldDefs[2].CreateField(MySql);
Add("L_of_S", ftString, 100, true);
FieldDefs[3].CreateField(MySql);
Add("NOTE", ftString, 100, true);
FieldDefs[4].CreateField(MySql);
Add("TYPE", ftString, 100, true);
FieldDefs[5].CreateField(MySql);
Add("DATA", ftDate, 0, true);
FieldDefs[6].CreateField(MySql);
Add("ID", ftString, 15, true);
FieldDefs[7].CreateField(MySql);
Add("VYDAN", ftString, 250, true);
FieldDefs[8].CreateField(MySql);
Add("PLASE_WORK", ftString, 250, true);
FieldDefs[9].CreateField(MySql);
Numer := TIntegerField.Create(MySql);
with Numer do
begin
FieldName := "Numer";
Calculated := True;
DataSet := MySql;
Name := MySql.Name + FieldName;
MySql.FieldDefs.Add(Name, ftInteger, 0, true);
end;
end;
end;