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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2009, 15:45   #1
Elena_Saygina
Пользователь
 
Аватар для Elena_Saygina
 
Регистрация: 26.09.2009
Сообщений: 21
Сообщение Соединение 3 и более таблиц DBGrid

Здравствуйте.

У меня есть главная таблица Эксперты. И есть подчиненные таблицы Состав экспертов.
Необходимо чтобы при выделении одной строки (номер группы экспертов) в главной таблице появлялось содержание подчиненной таблицы. И при выделении следующей записи в главной таблице появлялось содержание другой подчиненной таблицы.
Как сделать так чтобы к подчиненному гриду можно было подключить несколько таблиц. Возможно ли такое?

Моих скудных знаний не хватает, чтобы додуматься как сделать.
Буду рада любому совету.
Elena_Saygina вне форума Ответить с цитированием
Старый 08.11.2009, 16:08   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Настройте первый Grid на datasource настроенный на главную таблицу, а второй Grid свяжите с первым как Master-Detail. В свойствах второго datasource укажите datasource главной таблицы.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.11.2009, 16:19   #3
Elena_Saygina
Пользователь
 
Аватар для Elena_Saygina
 
Регистрация: 26.09.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Настройте первый Grid на datasource настроенный на главную таблицу, а второй Grid свяжите с первым как Master-Detail. В свойствах второго datasource укажите datasource главной таблицы.
У меня всего 2 грида. Один главный,а другой подчиненный.
Мне надо чтоб подчиненный грид менял каждый раз свое содержание при нажатии на строки в главном гриде.
Я видимо неправильно сформулировала вопрос первоначально.
Elena_Saygina вне форума Ответить с цитированием
Старый 08.11.2009, 16:24   #4
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Ну я и говорю, что укажите в свойстве MasterSource в подчиненном DataSource DataSource главной таблицы. Если таблицы связаны, то при выборе в главной таблице, в подчиненной будут отображаться записи, относящиеся к выбранной записи в главной таблице.
P.S. Первоначальный вопрос понятен, прочтите внимательно то, что я написал
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.11.2009, 16:36   #5
Elena_Saygina
Пользователь
 
Аватар для Elena_Saygina
 
Регистрация: 26.09.2009
Сообщений: 21
По умолчанию

Ну при такой раскладе свяжутся только 2 таблицы из БД, а нужно чтобы больше связывалось.
Вот я связала 2 таблицы как Вы сказали: при нажатии в главной таблице на первую строку подчиненная таблица заполняется содержанием (т.к. были созданы датасурс и тейбл под эту подчиненную таблицу). Потом при нажатии на вторую строку главной таблицы, подчиненная - пустая. Поскольку это уже другая таблица. Для каждой же таблицы надо создать сурс и адотейбл, чтобы они могли загрузиться. Ведь так?
Elena_Saygina вне форума Ответить с цитированием
Старый 08.11.2009, 16:47   #6
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
Для каждой же таблицы надо создать сурс и адотейбл, чтобы они могли загрузиться. Ведь так?
Так. Во всех подчененных DataSource-ax указывайте DataSource главной таблицы. Если тебе нужно, чтобы при выборе в главной таблице показывались подчиненные записи в дочерних.
P.S.
Цитата:
как Вы сказали
Не Вы, а Ты. Мне не 50 лет
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 08.11.2009, 16:50   #7
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

а как вы из данных первой таблицы понимаете с какой таблицей дочерней нужно связать?
типа Table2.Name := Table1.FieldByName('table_name').As String ?
тогда так и связывайте после скроллинга мастер-таблицы и переоткрывайте дочернюю
soleil@mmc вне форума Ответить с цитированием
Старый 08.11.2009, 16:57   #8
Elena_Saygina
Пользователь
 
Аватар для Elena_Saygina
 
Регистрация: 26.09.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
а как вы из данных первой таблицы понимаете с какой таблицей дочерней нужно связать?
типа Table2.Name := Table1.FieldByName('table_name').As String ?
тогда так и связывайте после скроллинга мастер-таблицы и переоткрывайте дочернюю

А можно по-подробнее об
Table2.Name :=Table1.FieldByName('table_name'). AsString ?
Куда это записать надо? Не совсем понимаю...
Elena_Saygina вне форума Ответить с цитированием
Старый 08.11.2009, 17:05   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Надо сделать что-то типа организации навигации по папкам в total commander/far чтоль (открыли папку и тут же нам показывается содержимое этой папки)? Т.е. Выделили в DBGrid'е нужную строку и в этом же DBGrid'e открылся соответствующий набор данных?
pu4koff вне форума Ответить с цитированием
Старый 08.11.2009, 17:12   #10
Elena_Saygina
Пользователь
 
Аватар для Elena_Saygina
 
Регистрация: 26.09.2009
Сообщений: 21
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
Надо сделать что-то типа организации навигации по папкам в total commander/far чтоль (открыли папку и тут же нам показывается содержимое этой папки)? Т.е. Выделили в DBGrid'е нужную строку и в этом же DBGrid'e открылся соответствующий набор данных?
ну не совсем в том же гриде,а в "соседнем", т.е. в дочернем.

вот моя форма, 2 грида и надо чтоб во втором гриде загружались данные из разных таблиц
Изображения
Тип файла: jpg 1.JPG (40.2 Кб, 319 просмотров)
Elena_Saygina вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какое программирование в наше время более востребовано и более рентабельно? iukash Свободное общение 18 29.10.2009 13:02
соединение двух столбцов, имеющих схожие данные из разных таблиц kate158 SQL, базы данных 3 11.09.2009 10:08
Run-time загрузка таблиц MS SQL Server в DBGrid Delphi 7 Ketra БД в Delphi 3 21.08.2009 16:31
несколько таблиц в одном DBGrid DaemonSAT БД в Delphi 3 06.07.2008 13:27
поля из разных связных таблиц в одном dbgrid Geddar Помощь студентам 2 15.05.2008 16:57