![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Обнулить связи между таблицами
_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]
> но это совершенно не то...
Почему это совершенно не то?