![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Индекс не дает редактировать данные в таблице?! ;:-( [D5, Paradox]
WinAmp © (2003-05-30 21:07:00)Есть индексированая таблица (ТЛФ справочник).Вторичный индекс по фамилии, дабы искать методом:
SetKey;
FieldByName("Family").asString:=Edit4.Text;
GotoNearest;
Все ищется без проблем, но вот отредактировать я данные не могу. Редактирую в другой форме и через другой компонент TTable.
С индексом ничего не делал и постоянно выскакивало сообщение Table is not indexed!
Потом вставил код при закрытии формы редактирования:
form2.table1.active:=false;
form2.table1.Exclusive:=true;
form2.table1.AddIndex("Family","Family",[]);
form2.table1.Exclusive:=false;
form1.Table1.IndexName:="Family";
form1.Table1.active:=true;
form2.close;
И во время выполнения опять выскакивает тоже самое!
Я уже много попробовал, но ничего не помогло. Подскажите ПЛИЗ!
Anatoly Podgoretsky (2003-05-31 07:28:00) [1]А индексы у тебя обслуживаемые?
Dred2k (2003-05-30 22:34:00) [2]
> form2.table1.Exclusive:=true
Эта строка без дальнейшего Open вообще не имеет смысла (и все далее тоже).
(сорри, невнимательно смотрел)
Dred2k (2003-05-30 22:32:00) [3]
> form2.table1.active:=false;
> form2.table1.Exclusive:=true;
> form2.table1.AddIndex("Family","Family",[]);
> form2.table1.Exclusive:=false;
А вот здесь нужен form2.table1.Close, потом form2.table1.Open (по твоей схеме).
Лучше дажеform2.table1.Close; form2.table1.Exclusive:=false; form2.table1.Openвместоform2.table1.Exclusive:=false;
А вообще - непонятна схема поиска (Locate по индексам надежнее, как водится - и редактируй, не забывая FlushBuffers и mantained indexes при создании индекса)...