|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
Связь таблиц через Master Source
Как сделать связь таблиц по одинаковому полю? У меня две таблицы имеют одно и тоже поле ID. Таблица №1 с полями: ID, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО - это основная, а таблица №2 с полями: ID, ID_Predmet, ДВОЕК, ТРОЕК, ЧЕТВЕРОК, ПЯТЕРОК - это подчиненная. Как их правильно свзяать по этому ID? Делал на примере таблиц CUSTOMER и ORDERS из папки примеров Delphi, но у меня не получается. Последовательность действий примерно такая:
1. В той таблице, которую надо подключить к основной нужно через свойство MasterSource указать DataSource основной таблицы. 2. Открыть поле MasterFields и выбрать одинаковые названия из полей Detail Fields и Master Fields и установить связь. В примере из Delphi там все ништяк устанавливается, а у меня не получается . Одинаковые названия полей у меня появляется только тогда, когда я в дочерней таблице на против поля ID ставлю *. Но после этого у меня не добавляются данные в дочернюю таблицу. Как правильно сделать? Кто нибудь знает? |
#2
|
||||
|
||||
У вас таблицы не имеют общих полей. Добавьте в таблицу №2 поле ID_Human, где ID_Human = ID из таблицы №1
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
А чем ID плох? В Таблице №2 ID это и подразумевается ссылка на ID в Таблице №1. В моем случае это должно быть ID->ID. А вы имеете ввиду сделать ID_Human->ID?
|
#4
|
||||
|
||||
Плох тем, что таблица №2 должна иметь свой уникальный ключ, которым по логике является ID, и таковым никак не может быть ID из таблицы №1 т.к. у вас предполагается отношение один ко многим.
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
Цитата:
А поле, например, ID_Human, сделать тип N? |
#6
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |