Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.02.2009, 23:13   #1
DSJ
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 13
По умолчанию Связь M:M с помощью Table

Помогите организовать связь многие ко многим с помощью Table. Вообще-то я использую ADOTable + Access но думаю в этом вопросе разницы нет, я прав?
Query не предлагать с его помощью я знаю как сделать М:М, хочется именно с Table
Структура БД простая - две таблицы, соединяются с помощью третьей.
DSJ вне форума Ответить с цитированием
Старый 04.02.2009, 00:16   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Давайте попроще - что вы хотите получить в результате?
У меня подозрение, что вам вполне хватит вычисляемых полей.
mihali4 вне форума Ответить с цитированием
Старый 04.02.2009, 03:11   #3
DSJ
Пользователь
 
Регистрация: 28.01.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Давайте попроще - что вы хотите получить в результате?
У меня подозрение, что вам вполне хватит вычисляемых полей.
Хорошо, что мы делаем если нам надо соединить две таблицы с помощью Table, добавляем DataSource к таблице одной записи, а в таблице многих записей прописываем:
Table2.MasterSource:=DataSource;
Table2.MasterFields:='СвязующееПоле ';
Table2.IndexFieldNames:='СвязующееП оле';

Получается в случае со связью М:М свойству MasterSource связующей (третьей) таблице необходимо присвоить два DataSource первой и второй таблице, но это невозможно
P.S. с БД я познакомился недавно поэтому прошу писать по подробнее и по проще
DSJ вне форума Ответить с цитированием
Старый 06.02.2009, 08:56   #4
Veroonya
Пользователь
 
Аватар для Veroonya
 
Регистрация: 09.10.2008
Сообщений: 30
По умолчанию

Сделай так:
(допустим T1, T2, join - таблицы T1,T2 -твои, join - связующая)
из Т2 направь связь в join а из join в Т1
Код:
T2.MasterSource:=DataSourceJOIN;
T2.MasterFields:='СвязующееПолеJOIN';
T2.IndexFieldNames:='СвязующееПолеJOIN';

JOIN.MasterSource:=DataSourceT1;
JOIN.MasterFields:='СвязующееПолеT1';
JOIN.IndexFieldNames:='СвязующееПолеT1';
как то так

опять же смотри, какая таблица главнее. Т1 - должна быть главнее чем Т2
Veroonya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Table Devikss БД в Delphi 7 29.05.2008 11:52
Table Devikss БД в Delphi 2 26.05.2008 03:44