Форум: "Базы";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизКак связать 2 таблицы... Найти похожие ветки
← →
Zif © (2004-09-26 20:56) [0]Начну цитатой из книги "Библия Delphi" Михаила Фленова:
Теперь добавь сюда компоненты DataSource (назови его TelephonSource) и ADOTable (назови его TelephonTable) для доступа к таблице «Телефоны». Наведи свойство DataSource компонента TelephonSource на TelephonTable.
Теперь установи следующие свойства компонента TelephonTable:
Connection – укажи здесь наш компонент присоединения к базе данных ADOConnection1.
TableName – здесь укажи имя таблицы Телефоны.
Active – установи в true, чтобы открыть таблицу.
MasterSource – выбери здесь из выпадающего списка BookSource. Этим ты указываешь главную таблицу для таблицы Телефонов.
MasterFields – здесь мы должны указать связующие поля. Щёлкни по этому полю дважды и перед тобой откроется окно, как на рисунке 14.10.3. В списке Detail Fields (поля подчинённой базы) выбери поле LinkKey, а в списке Master Fields (поля главной базы) выбери поле Key1. Нажми кнопку Add и в списке Joined Fields (связанные поля) появиться строка отображающая выделенную связь. Закрой окно, кнопкой ОК чтобы сохранить указанную связь.
http://www.podgoretsky.com/ftp/Docs/Delphi/Fleonov/Bibble/Ch%2014-3.pdf (353 КБ)
Как такую же связь создать, если я использую ADOQuery и Access?
Какой код надо ниписать и где? Или иначе: чем заменить MasterFields в ADOQuery?
← →
sniknik © (2004-09-26 21:31) [1]> чем заменить MasterFields в ADOQuery?
MasterFields-ом в тейбле или в датасете.
← →
Zif © (2004-09-26 21:41) [2]тобишь можно использовать одновременно ADOTable и ADOQuery?
← →
sniknik © (2004-09-26 22:05) [3]с чего такие выводы? может и можно но не нужно, замени их оба на ADODataSet.
← →
Zif © (2004-09-26 22:13) [4]не очень знаком с этим компонентом... Он обладает теми же возможностями, что и ADOQuery? я просто ADOQuery выбрал из-за того, что нужно много поисковых запросов проводить...
← →
sniknik © (2004-09-27 00:07) [5]ADOQuery это ограниченный ADODataSet также как и ADOTable ограниченный он же (ADODataSet), ограничения до привычных свойств привычных по BDE компанент (для облегчения перехода), отличия правда есть.
по моему это была ошибка борланда, создание этих подобий, основные глюки и недопонимание именно от того, что ожидают подобного же поведения (невозможно принцып другой, основа). а привыкая не переходят на лучшее, привыкая костенеют в уже привычных рамках.
← →
ЮЮ © (2004-09-27 04:06) [6]>чем заменить MasterFields в ADOQuery
длЯ MasterSource всё остаётся по-прежнему: любое поле может быть выбрано в качестве Master, а вот Detail запрос должен быть параметрическим запросом, причем имя параметра должно совпадать с именем поля Master DataSet-а - в этом случае никаких лишних телодвижений с определениями пар MasterFields - Joined Fields не надо (по крайней мере так было с TQuery, надеюсь также и у ADOQuery)
← →
Lamer8 (2004-09-27 23:38) [7]А если в главной таблице ключевое поле счётчик, то при добавлении записи, в подчинённой таблице требуется ввести в связанное поле такое-же значение как и в ключевом поле главной, но в режиме редактирования этот ключ сервер не посылает ни в ADOQuery ни в ADODataSet, постить таблицы по очереди не самый лучший вариант, так как пользователь изменяет и добавляет данные в SQL запросе, как можно сделать чтоб при сохранении добавленных записей в связанном поле подчинённой таблицы подчинённой таблицы добавлялось значение сгенерированное счётчиком.
← →
msguns (2004-09-28 09:28) [8]При добавлении в Мастер новой записи (с новым UID) никаких добавлений в подчиненные таблицы автоматически не делаются. А вот когда подчиненная таблица активируется (как пример: добавлен заголовок новой накладной, а затем переход к пустой фактуре, куда уже происходит добавление строк). Но ведь новый ключ Мастера (он же связующий) уже известен (во всяком случае его значение можно в любой момент получить) и его-то надо вставить в соотв.запрос.
← →
Zif © (2004-10-02 15:57) [9]большое спасибо, очень помогло.
А можно как-нить попроще объяснить, что делать с проблемой заполнения поля LinkKey в подчинённой таблице?
я новичок...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c