void __fastcall TForm1::Button6Click(TObject *Sender)
{
ADOTable1->TableName="Man";
ADOTable2->TableName="Delo";
ADOTable2->IndexName=("Deloindex");
ADOTable2->IndexFieldNames="DetID";
ADOTable2->MasterSource=DataSource4;
ADOTable2->MasterFields="ID";
ADOTable1->Active=true;
ADOTable2->Active=true;
}
связывание таблиц
с помощью sql-запросов создаю таблицы Man и Delo.
Хочу связать их отношением "один-ко-многим".
1.Кидаю на форму ADOTable1,ADOTable2, и для них DataSource4,DataSource6.
2.Связываю эти компоненты с ADOConnection1...и т.д.Таблица Man будет master, Delo- detail.
3.Создаю для поля DetID таблицы Delo sql-запросом индекс с именем DeloIndex.
пишу нижеприведенный код
Код:
поля по которым связываю(ID и DetID) таблицы имеют одно и то же значение(и смысл),просто они в этих таблицах названы по разному
ОШИБКА:ничего не происходит.После запуска прогаммы,открываю бд Access и вижу что в эти 2 таблицы присутствуют в "схеме данных"(окно Ms Access),НО никак не соединены между собой.
пыс:то что на писано в коде Button6Click пробовал делать визуально,то есть в Object Inspector,но результат тот же
ну что ж,help?
Цитата: opex
ОШИБКА:ничего не происходит.После запуска прогаммы,открываю бд Access и вижу что в эти 2 таблицы присутствуют в "схеме данных"(окно Ms Access),НО никак не соединены между собой.
Какой жах!!!
Правда они и не должны. Потому как создание связанных наборов данных в программе, и подобие внешних ключей в Ms Access никак не связанны друг с другом.
Результатом твоих действий должно быть отображение всех записей в таблице Man и только тех записей в таблице Delo, DetID которых равен ID текущей записи таблицы Man. Только и всего.
Я же уже говорил тебе в предыдущей теме - выполни поиск в гугле по ключевому слову "архангельский" - закачай себе литературу - и тебе проще будет...
и как это увидеть? В Access,если таблицы связаны,стоит нажать на плюсик в поле главной таблице и отображается дочерняя запись Я думал аналогично будет и в DBGrid Как этого добится в программе?
Цитата: opex
и как это увидеть? В Access,если таблицы связаны,стоит нажать на плюсик в поле главной таблице и отображается дочерняя запись Я думал аналогично будет и в DBGrid Как этого добится в программе?
Советую тебе подумать над тем - что тебе почитать, прежде чем задать вопрос на форуме. Потому как то что ты думал пока действительности не соответствует.
[SIZE="6"]{$BCB}\Examples\DBTasks[/SIZE]