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

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

Связывание одной дочерней таблицы с двумя родительскими [D5, Paradox]


I.Ru.Ru ©   (2004-04-20 22:06:00) 

Подскажите, плиз, можно ли в Дельфи DataModule связать одну таблицу с двумя родительскими?
Имеется сцепленный первичный ключ.
Подробнее:
Таблица 1:
Номер1 (PK)
Название1

Таблица2:
Номер2 (PK)
Название2

Таблица3:
Номер1 (PK)
Номер2 (PK)
Название3

Через MasterFields не получается связать, так как в MasterSource указывается только одна родительская таблица.

Мне необходимо ввязать эти таблицы для того, чтобы в дальнейшем при выборе нужных записей из Таблицы 1 и Таблицы2 автоматически выбиралась запись из Таблицы3.


Курдль   (2004-04-21 00:30:00) [1]

1. Нет понятия "Дочерняя" и "Зависимая" таблица. Есть Master-Detail.
2. Ваша проблема решается на клиенте двумя способами.
2.1 Прописать событиям onScroll DataSet-ов 1 и 2 следующую процедуру:

DataSet3.Locate('Номер1; Номер2', [DataSet1.FieldByName('Номер1').AsInteger, DataSet2.FieldByName('Номер2').AsInteger], []);

2.2 Составить запрос типа  

selct * from Таблица3 where Номер1 = :Номер1 and Номер2 = :Номер2

и вызывать его каждый раз, когда Вам понадобится запись из таблицы 3 (с передачей соотв. параметров).


Наверх

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