![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление Calc - field во время вып-я [D5, Access]
NewD © (2003-06-06 09:42:00)Не могу добавить поле типа fkcalculated во время вып-я:
ошибка:Типа поле не может быть Calc или lookup
procedure TFormSprav.CreateNewField(Sender: TObject);
var t,t1:tfield ;
st:string;
begin
try
adodataset1.Active:=false;
t:=tfield.Create(self);
t.SetFieldType(ftVariant);
i:=0;
while true do
try
t1:=adodataset1.fieldbyname("f"+inttostr(i));
i:=i+1;
except
break;
end;
t.Name:="f"+inttostr(k);
t.FieldKind:=fkcalculated ;
adodataset1.Fields.Add(t);
adodataset1.Active:=true;
adodataset1.Active:=true;
----- Вот здесь вылетает ошибка
------- Типа поле не может быть Calc или lookup
------ хотя оно добавилось
except
end
end;
NewD (2003-06-06 10:33:00) [1]Спасибо я уже разобрался .
Соловьев (2003-06-06 10:30:00) [2]
> Код приведен выше
мой что ли? :)
я так понимаю ты после просмотра моего кода, что-то менял в своем? если нет, тогда помочь ничем не могу...
NewD (2003-06-06 10:26:00) [3]Код приведен выше
Соловьев (2003-06-06 10:01:00) [4]
> NewD (06.06.03 09:59)
смотрю в магический шар и ничего не вижу... :)
не поскажите ли Вы код который используете? :)
NewD (2003-06-06 09:59:00) [5]Не получается
Соловьев (2003-06-06 09:49:00) [6]когда-то писал...
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;
NewD (2003-06-06 09:46:00) [7]в коде ошибка - вместо
t.Name:="f"+inttostr(k);
t.Name:="f"+inttostr(i);