Вниз
Скачать: CL | DM;

Установка связи между таблиц (ADO)   Найти похожие ветки 

 
Viktop   (2006-03-04 11:38) [0]

Есть база Access. Таблицы
ДанныеОсновные
Поимённый №, Фамилия, Имя, Отчество, группа
ДанныеПодробно
Поимённый №, ДатаРождения, Адрес и прочее
Поле Поимённый № ключевое в обеих таблицах (связь 1 к 1)
На всякий случай установил связь между таблиц в самом Access"е (надо это делать или нет?). А когда пытаюсь связать таблицы через Delphi (окно Field Link Designer) по Поимённому №, то вываливается ошибка
Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
Что делать?

Исходник я бросил на webfile.ru/841986


 
Anatoly Podgoretsky ©   (2006-03-04 15:41) [1]

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


 
Viktop   (2006-03-04 15:52) [2]

Это не моя прихоть. Это нормализация, которую утвердил (другие отвергал) преподаватель. Таблица считается слишком большой, когда у неё более 7 полей, поэтому её надо разбивать.
А что, разве нельзя связять таблицы 1 к 1 ;) и причёи тут рождение?


 
Viktop   (2006-03-04 18:10) [3]

Так какие могут быть предложения (кроме всё-в-одну-таблицу)


 
Virgo_Style ©   (2006-03-04 18:46) [4]

Дату рождения действительно стоило бы в первую таблицу... а группу - во вторую, наверное. Если планируется вести историю - на такой-то момент адрес такой-то, а теперь такой-то, а такого-то числа перешел в другую группу...

А если нет... В общем, про то, что 7 полей - это много, лично я слышу в первый раз, как и про принцип разделения на таблицы по количеству полей)


 
Viktop   (2006-03-04 18:58) [5]

Это немного не по теме ;). Просто основные данные - это ФИО + № + группа (берётся из другой таблицы)

Так как быть со связью?


 
Viktop   (2006-03-04 20:07) [6]

Проблема решилась... частично. Всё поля переименовал на английский...
Теперь при заполнении вылетает похожая ошибка


 
Viktop   (2006-03-04 20:10) [7]

Exe-файл
webfile.ru/842662


 
Viktop   (2006-03-04 21:18) [8]

На форме 2 DataSource и к ним ADOTable (тоже 2 штуки)
На форме кидаю DBEdit-ы для 1-й таблицы и для 2-й. Для 1-йтаблицы кинул эдиты на вся поля, а для 2-й на одно не кидаю (по которому связь идёт). При попытке добавить данные вылезает ошибка, что невозможно записать данные во вторую таблицу, т.к. нет поле Поимённый № не заполнено.
Ну не вручную же заполнять его (((. При связи один-ко-многим (в други проектах) все автоматом заполнялось. Как быть?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
2-1141034471
BaBayka007
2006-02-27 13:01
2006.03.19
Доброго всем дня....подскажите пожалуйста.....вроде делаю правиль


15-1140531601
vecna
2006-02-21 17:20
2006.03.19
Windows Millennium


15-1140768669
keal
2006-02-24 11:11
2006.03.19
Словарь компьютерных технологий


3-1138173599
Серж_дд
2006-01-25 10:19
2006.03.19
Извлечь время в Paradox


3-1138032431
pupkin
2006-01-23 19:07
2006.03.19
Создание ADOQuery в run-time




   Наверх