|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
02.05.2009, 17:46 | #1 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Связь таблиц через Master Source
Как сделать связь таблиц по одинаковому полю? У меня две таблицы имеют одно и тоже поле ID. Таблица №1 с полями: ID, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО - это основная, а таблица №2 с полями: ID, ID_Predmet, ДВОЕК, ТРОЕК, ЧЕТВЕРОК, ПЯТЕРОК - это подчиненная. Как их правильно свзяать по этому ID? Делал на примере таблиц CUSTOMER и ORDERS из папки примеров Delphi, но у меня не получается. Последовательность действий примерно такая:
1. В той таблице, которую надо подключить к основной нужно через свойство MasterSource указать DataSource основной таблицы. 2. Открыть поле MasterFields и выбрать одинаковые названия из полей Detail Fields и Master Fields и установить связь. В примере из Delphi там все ништяк устанавливается, а у меня не получается . Одинаковые названия полей у меня появляется только тогда, когда я в дочерней таблице на против поля ID ставлю *. Но после этого у меня не добавляются данные в дочернюю таблицу. Как правильно сделать? Кто нибудь знает?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
02.05.2009, 18:20 | #2 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Если ты работаешь с таблицами Paradox, то в Database Desktop необходимо установить secondary index, для того того чтобы отображалось при связи таблиц.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
02.05.2009, 18:23 | #3 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Да, Paradox. А прописывать надо любое имя? Или конкретное название? И в какой из таблиц нужно прописывать их?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
02.05.2009, 18:24 | #4 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Да вроде любое.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
02.05.2009, 18:28 | #5 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
А в какой из таблиц то: дочерней или основной?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
02.05.2009, 18:32 | #6 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Насколько я помню нужно в дочерней таблице сделать.
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
02.05.2009, 19:14 | #7 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Щас попробовал. Указал названия поля, по которому связываю таблицы. Соединению дал имя pole_ID для обоих таблиц. В инспекторе свойств указал в дочерней таблице DataSource основной. Сделал связь ID -> ID, но когда нажимаю на ОК, то появляется ошибка: "Table2: Field index out of range". Table2 - это дочерняя таблица. Что значит эта ошибка? После этого вручную устанавливаю свойства IndexFieldName и IndexName, но в дочерней таблице при выборе строки из основной не отображаются данные. Что я неправильно делаю?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
02.05.2009, 19:24 | #8 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Скачай исходник созданный мной (в теме там самый последний). Рассмотри его. Там видна данная связь. Даю ссылку:
http://programmersforum.ru/showthread.php?t=46104
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
02.05.2009, 19:57 | #9 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Я посмотрел Ваш исходник. Хорошо у Вас работает. А Вы можете помочь мне с моими таблицами? Можете для меня сделать исходник такой связи? Плиз. Скрины таблиц выложил я.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
02.05.2009, 20:47 | #10 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Примерно так будет
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Связь таблиц в Database Desctop | Sergius X | БД в Delphi | 0 | 22.04.2009 16:53 |
Связь с кучей dbf файлов (таблиц) через OLEDB через UNION ALL | Sasha811 | SQL, базы данных | 0 | 01.01.2009 14:04 |
Связь таблиц в Delphi | adinadin111 | БД в Delphi | 3 | 10.07.2008 14:50 |
связь таблиц в локальной БД | IGREK | БД в Delphi | 3 | 30.06.2008 19:46 |
Связь таблиц БД | kaa | БД в Delphi | 5 | 18.09.2007 18:29 |