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

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

Связанные таблицы, запросы по запросам... [D5, Access]


Lancelot ©   (2003-03-16 23:48:00) 

Здравствуйте, коллеги. Извините за глупый вопрос, но можеть быть, кто-нибудь поможет?..

Предположим, у нас есть 2 таблицы со связью мастер-деталь (и, соответственно, есть ADOConnection, 2 штуки ADOQuery (MasterQuery и DetailQuery) и 2 DataSource (MasterDS и DetailDS)).

«…Запрос для MasterQuery:

select VendorNo, VendorName, Country, City, State, Preferred
from vendors

Запрос в DetailQuery должен выбирать только те записи, VendorNo в которых является текущим в MasterDS.Dataset. Для этого установим свойство DataSource компонента DetailQuery в значение MasterDS.
Запрос для DetailQuery следующий:

select PartNo, OnOrder, OnHand, ListPrice, Description, Cost
from parts
where VendorNo = :VendorNo

:VendorNo в части where – параметр запроса. Параметры при установленном DataSource берутся из него.»

Вышеприведенный текст взят из статьи Д. Сидорова «Компоненты ADO», которую часто можно встретить во всяких интернетовских факах, библиотеках т.п. И надо сказать, черт подери, что это все работает! Работает, пока у нас не заведется третья таблица - субдеталь, для которой мастером будет DetailQuery.
Увы, тогда аналогичный запрос по результатам этой (DetailQuery) выборки не будет возвращать ни-чер-та.
Можно ли это обойти? или так и должно быть?
Заранее багодарю.


alex55   (2003-03-17 00:28:00) [1]

СУБД-то может и умная, да вот с выпуском новых версий Delphi спешат некоторые - не успевают старые ошибки исправить, а уже новые накатились.


Lancelot   (2003-03-17 00:12:00) [2]

Гм, я так и делаю. Но душа хочет прекрасного, ведь СУБД у нас же такая умная, ну пусть сама записи и фильтрует...


alex55   (2003-03-17 00:05:00) [3]

Я на этой третьей таблице раньше видел много глюков. Обычно удавалось их победить, обработав "вручную" события связанные с перемещениями в мастер-таблице.


Наверх

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