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

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

Индекс не дает редактировать данные в таблице?! ;:-( [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 при создании индекса)...


Наверх

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