Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Установка связи между таблиц (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]

Зачем тут две таблицы, человек рождается только один раз.


Наверх

Титульная страница Поиск, карта сайта Написать письмо