![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связь таблиц если в подчиненной таблице 2 втор. ключа [D7, Paradox]
gaga © (2006-05-11 13:48:00)Ситуация такая есть 4 таблицы.
две из них подчинённые.
В подчинённой таблице(№3) есть два вторичных ключевых поля (r1 и r2) которые связываются с таблицей(№1) по ключу r1-->r1 и таблицей(№2) по ключам r2-->r2.
Как средствами делфи организовать связь? (предворительно с таблицами проведена работа в Database desktop. обьявлены вторичные ключи в Secondary Indexes, указана связь между табл в Referential Integrity)
Выбираю табл1.В инспекторе обектов выбираю мастер_сорс(ставлю Datasourse1) в мастерфиелдс (соеденяю первичный ключ табл1 с вторичным ключом табл3). Тут понятно!!!
А как дальше??? мне нужно проделать тоже самое тоесть соеденить табл3 с табл2. Если идти по тому-же пути то можно соеденить либо табл1 либо табл2 с таблицей3 а мне нужно чтоб они были соеденены все три.
Помогите!!!!
gaga (2006-05-12 08:35:00) [1]Извеняюсь
"Вторичный индекс"
Anatoly Podgoretsky (2006-05-11 15:14:00) [2]gaga © (11.05.06 13:48)
Вторичных ключей не бывает в природе.
gaga (2006-05-11 14:33:00) [3]Спасибо!
сейчас попробую
Sergey13 (2006-05-11 14:27:00) [4]Пишешь процедуру (это псевдо код)
begin
DataSet3.ParamByName('P1').asInteger:=DataSet1.FieldByName('Id').asInteger;
DataSet3.ParamByName('P2').asInteger:=DataSet2.FieldByName('Id').asInteger;
DataSet3.Close;
DataSet3.Open;
end;
И вешаешь ее на AfterScroll DataSet1 и DataSet2.
gaga (2006-05-11 14:18:00) [5]не очень понятно
как главная таблица всёже будет видеть подчинённую
В АфтерСкрол пишу что нужноприсвоить значение мастерсорс батасету такомуто итак далее??
Sergey13 (2006-05-11 13:52:00) [6]Автоматом тут не получится. Надо на АфтерСкрол обеих главных таблиц прописать переоткрытие подчиненной таблицы.