Удаление связей в TTable
От: Аноним  
Дата: 01.03.04 16:48
Оценка:
Прошу сразу не пинайте ногами.
Приложение на D6 + Paradox: в приложении есть 5 Table, 5 DataSourse, 5 DBGrid. 3 комплекта (Table+ DataSourse+ DBGrid) представляют из себя справочники. Данные в 2 другие комплекта заносятся из этих 3 справочников с помощью lookup полей. Т.е. на этапе проектирования у меня таблицы через «MasterSource» и «MasterFields» не связаны. С этим все нормально. Реализую каскадное удаление записей, т.е. говорю — удалить запись в таблице первого уровня, программа удаляет все записи в дочерних таблицах и затем только удаляет в таблице первого уровня. Но что бы это провернуть таблицы должны быть связаны. Связываю их динамически:

form1.TableSotrudnik1.MasterSource := Form1.dsOtdel;
form1.TableSotrudnik1.MasterFields := 'O_IDOtdel';
form1.TableSotrudnik1.IndexName := 'indS_IDOtdel';
Form1.TableProiz.MasterSource := Form1.dsSotrudnik1;
Form1.TableProiz.MasterFields := 'S_TabelNumber';
Form1.TableProiz.IndexName := 'indP_TabelNumber';
Произвожу удаление.


Внимание вопрос: КАК АННУЛИРОВАТЬ СВЯЗЬ, КОТОРУЮ Я УСТАНОВИЛ ДИНАМИЧЕСКИ???

Попробовал так:

form1.TableSotrudnik1.MasterSource.Destroy;
form1.TableSotrudnik1.MasterFields := '';
form1.TableSotrudnik1.IndexName := '';
Form1.TableProiz.MasterSource.Destroy;
Form1.TableProiz.MasterFields := '';
Form1.TableProiz.IndexName := '';


Но не пошло, всем Table’ам свойству Active присваивается FALSE, т.е. они у меня становятся на форме в режиме runtime становятся неактивны, насколько я понял из-за Destroy т.е TableSotrudnik1 уничтожается.

Скажите пожалуйста что делаю неправильно!!!! Я практически в отчании.....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.