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

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

Создание Lookup полей программно [D5, Paradox, ]


DS ©   (2001-12-19 17:35:00) 

Здрасте !
Пожалуйста помогите! Не получается создать Lookup поле программно
хотя все свойства вроде бы определяю. Написал такой код :
MyFil : TStringField;

tABLE1.Close;
tABLE1.Fields.Add(MyFil);
MyFil:=TStringField.Create(MyFil);
MyFil.FieldName:="Table1MyFil";
MyFil.Name:="MyFil";
MyFil.Size:=10;
MyFil.Index:=tABLE1.Fields.Count;
MyFil.FieldKind:=fkLookup;
MyFil.LookupCache:=false;
MyFil.LookupDataSet:=Table2;
MyFil.LookupKeyFields:="Kod";
MyFil.KeyFields:="KodRazm";
MyFil.LookupResultField:="Razmer";
MyFil.Lookup:=true;
MyFil.DisplayWidth:=10;
MyFil.Transliterate:=true;
MyFil.FixedChar:=false;
MyFil.Visible:=true;
MyFil.ReadOnly:=false;
MyFil.Required:=false;
MyFil.AutoGenerateValue:=arNone;
MyFil.Alignment:=taLeftJustify;
tABLE1.Open;

Пишет Access violation. Пожалуйста помогите, срочно надо!

Заранее благодарю.


DmitryA   (2001-12-21 20:16:00) [1]

В догонку... Наши программисты тем и славны, что на голой документации (Help"е) их не проведешь! Нужно пробовать все, а главное шевелить тем, что под волосами.


DmitryA   (2001-12-21 20:12:00) [2]

Ладно, че рассуждать? Идти за пивом или нет?!

// ...где-то в начале объявлений...
var LookupField: TStringField; // или поле другого типа

// ...где-то в теле программы...
Table.Close();

// для прля типа TStringField!
LookupField := TStringField.Create(self); // от формы
LookupField.FieldName := "MyLookupField";
LookupField.DataSet := Table;
LookupField.Size := 20;
LookupField.FieldKind := fkLookup;
LookupField.LookupDataSet := HostTable;
LookupField.LookupResultField := "NAME";
LookupField.LookupKeyFields := "NAME_ID";
LookupField.KeyFields := "ID";
LookupField.Lookup := true;

Table.Open();


Kouzmine   (2001-12-21 12:29:00) [3]

А может - tABLE1.Fields.Add(TStringField.Create(MyFil);


Наверх

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