![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установка связи между таблиц (ADO) [D7, XP]
Viktop © (2006-03-04 11:38:00)Есть база Access. Таблицы
ДанныеОсновные
Поимённый №, Фамилия, Имя, Отчество, группа
ДанныеПодробно
Поимённый №, ДатаРождения, Адрес и прочее
Поле Поимённый № ключевое в обеих таблицах (связь 1 к 1)
На всякий случай установил связь между таблиц в самом Access'е (надо это делать или нет?). А когда пытаюсь связать таблицы через Delphi (окно Field Link Designer) по Поимённому №, то вываливается ошибка
Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Что делать?
Исходник я бросил на webfile.ru/841986
Viktop (2006-03-04 21:18:00) [1]На форме 2 DataSource и к ним ADOTable (тоже 2 штуки)
На форме кидаю DBEdit-ы для 1-й таблицы и для 2-й. Для 1-йтаблицы кинул эдиты на вся поля, а для 2-й на одно не кидаю (по которому связь идёт). При попытке добавить данные вылезает ошибка, что невозможно записать данные во вторую таблицу, т.к. нет поле Поимённый № не заполнено.
Ну не вручную же заполнять его (((. При связи один-ко-многим (в други проектах) все автоматом заполнялось. Как быть?
Viktop (2006-03-04 20:10:00) [2]Exe-файл
webfile.ru/842662
Viktop (2006-03-04 20:07:00) [3]Проблема решилась... частично. Всё поля переименовал на английский...
Теперь при заполнении вылетает похожая ошибка
Viktop (2006-03-04 18:58:00) [4]Это немного не по теме ;). Просто основные данные - это ФИО + № + группа (берётся из другой таблицы)
Так как быть со связью?
Virgo_Style (2006-03-04 18:46:00) [5]Дату рождения действительно стоило бы в первую таблицу... а группу - во вторую, наверное. Если планируется вести историю - на такой-то момент адрес такой-то, а теперь такой-то, а такого-то числа перешел в другую группу...
А если нет... В общем, про то, что 7 полей - это много, лично я слышу в первый раз, как и про принцип разделения на таблицы по количеству полей)
Viktop (2006-03-04 18:10:00) [6]Так какие могут быть предложения (кроме всё-в-одну-таблицу)
Viktop (2006-03-04 15:52:00) [7]Это не моя прихоть. Это нормализация, которую утвердил (другие отвергал) преподаватель. Таблица считается слишком большой, когда у неё более 7 полей, поэтому её надо разбивать.
А что, разве нельзя связять таблицы 1 к 1 ;) и причёи тут рождение?
Anatoly Podgoretsky (2006-03-04 15:41:00) [8]Зачем тут две таблицы, человек рождается только один раз.