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

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

Обновление значений полей взятых из присоединенной таблицы


Страницы:   1 2 3

Kostafey ©   (2007-04-17 18:54:00) 

В продолжение темы http://www.delphimaster.ru/cgi-bin/forum.pl?n=1&id=1173792940

Итак, есть набор даных (ADODataSet, СУБД Access), построенный как

select * from
(
 (
   Meropr
   left join TipMeropr on TipMeropr.TMer_id = Meropr.Mer_TMer_id
 )
 left join Valute on  Valute.V_id = Meropr.Mer_V_id
)
left join Location on  Location.L_id = Meropr.Mer_L_id

значения свойств

ADODataSetMeropr.Properties['Unique Table'].Value := 'Meropr';
ADODataSetMeropr.Properties['Resync Command'].Value := '...'
ADODataSetMeropr.Properties['Update Resync'].Value := adResyncAll;

соответствующим образом введены.

Проблема в том, что при изменении, например Meropr.Mer_TMer_id
значения других полей взятых из таблицы TipMeropr будут обновлены
только после выполнения Post.
Можно ли это каким-либо образом сделать до выполнения Post ?


Kostafey   (2007-04-21 00:40:00) [41]

> Прочитал 2 (два) раза. Ничего не понял.

Постараюсь выражаться яснее.

Набор данных (ADODataSet) построен на основе объединения нескольких таблиц.
Нужно этот НД редактировать (Insert, Edit, etc).
В статье http://delphikingdom.ru/asp/viewitem.asp?catalogid=420
рассказывается как редактировать НД построенных на нескольких таблицах.

Но обновление данных в визуальных компонентах (DBGrid, DBEdit, и тд.) в случае если
мы меняем значения внешних ключей таблицы (указанной в 'Unique Table') происходит только
выполнения Post этого набора данных.

Я бы хотел иметь возможность видеть изменения до сохранения.


Johnmen   (2007-04-21 00:28:00) [42]

Прочитал 2 (два) раза. Ничего не понял.


Kostafey   (2007-04-20 23:52:00) [43]

Все же конструктивной критики хотелось бы услышать.


Kostafey   (2007-04-17 19:38:00) [44]

Вообще, проблему решил, но не очень красиво.

В момент изменения Meropr.Mer_TMer_id я отключал свойство
DataSource:=nil того TDBEdit, который должен отображать
поле данных таблицы TipMeropr, после чего его свойству
Text присавивается требуемое знаечение поля.
Зырытие формы редактирования происходит вместе с Post или Cancel.

При каждом отобажении формы (FormShow) значения DataSource
всех TDBEdit-ов и прочих контролов восстанавливаются.

Не слишком примитивно?


Страницы:   1 2 3

Наверх

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