|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
SQL-запрос (связанные таблицы)
Здравствуйте, не могу разобраться с запросом.
Есть база Access c тремя таблицами. Поля Tab1: id_1, name_1 Поля Tab2: id_2, id_1, id_3, name_2 Поля Tab3: id_3, name_3. Связи: Tab3.id_3= Tab2.id_3 (один ко многим), Tab1.id_1= Tab2.id_1 (один ко многим). ADOQuery1: Select Tab1.ID_1, Tab1. name_1 from Tab1 ADOQuery2: Select Tab2.ID_2, Tab2.ID_1, Tab2.ID_3, Tab2. name_2, Tab3. id_3, Tab3. name_3 FROM Tab3, Tab2 where Tab3.ID_3 = Tab2.ID_3 В DBGrid1 - ADOQuery1 (Tab1), в DBGrid2 – ADOQuery2 (Tab2 и Tab3). До этого момента все понятно. Нужно сделать так, чтобы если кликаешь в строчку DBGrid1 то, в DBGrid2 должны отображаться строки соответствующие id_1. То есть, если кликаешь в DBGrid1 где ID_1=6 (Tab1.ID_1=6), то в DBGrid2 должны отображаться только строки ID_1=6 (Tab2.ID_1=6). |
#2
|
||||
|
||||
В ADOQuery2 сво-во DataSource выставить равным DataSource от ADOQuery1. А в запросе ADOQuery2 последнюю строчку
поменять на (или дописать через AND): Код:
Tab3.ID_3 = :Tab1.ID_3 Последний раз редактировалось TOJluK, 01.03.2010 в 09:59. |