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

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

Обнулить связи между таблицами


_Anton_ ©   (2007-04-24 17:44:00) 

Существует несколько таблиц в БД, между которыми установлены связи, таким образом когда в главной таблице активна какая-то запись, в зависимых таблицах отображаются только записи, связанные с ней. Нужно на время отобразить все записи во всех таблицах, то есть удалить (с возможностью восстановить впоследствии) связи. Пытался так:
DbTable.MasterSource:=nil; но это совершенно не то...
Пока найти грамотный подход в справке не удается...


Qwerter   (2007-04-30 12:30:00) [1]

Обнулял, чего только не пробовал, вообще проблемой стало восстановление связей, потому что продолжают отображаться все записи, пока в родительской таблице пользователь не перейдет на другие записи.


ASoft   (2007-04-30 10:12:00) [2]

>_Anton_
а кроме MasterSource:=nil попробуй еще индекс обнули. Кажется, indexname:=''; Но тогда надо датасет точно перед этим закрыть.


_Anton_   (2007-04-30 02:21:00) [3]

Вроде не помогает...


turbouser   (2007-04-29 23:44:00) [4]

DbTable.DisableControls
...
DbTable.EnableControls


_Anton_   (2007-04-29 23:41:00) [5]

Неужели никто не знает? Никак не могу найти красивого способа...


_Anton_   (2007-04-29 18:20:00) [6]

Гм... Обновление происходит при переходе на другую запись, как сымитировать это программно, чтобы пользователь перемещения по записям не увидел?


_Anton_   (2007-04-29 18:10:00) [7]

Все-таки восстановить отображение не получается, если потом сделать так:
DbTable.MasterSource:=MasterDataSource;
DbTable.Refresh;
По-прежнему отображаются лишние строки


_Anton_   (2007-04-25 10:53:00) [8]

Собственно, я и не знал -)
Ну не ругается, во всяком случае, при выполнении...

Насчет refresh - протормозил, попробую, лишь бы трудностей с обратным восстановлением не возникло...


ASoft   (2007-04-25 05:33:00) [9]

а присваивать DbTable.MasterSource:=nil при открытом dataset разве можно? что-то я забыл уже...


Johnmen   (2007-04-25 00:31:00) [10]

А Refresh?


_Anton_   (2007-04-25 00:28:00) [11]

Потому что в это время дочерние таблицы отображают только часть содержимого, зависящую от активной записи в главной, и после такого сброса все так и остается.


_Аноним   (2007-04-24 20:04:00) [12]


>  но это совершенно не то...

Почему это совершенно не то?


Наверх

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