Как добавить записи в обе таблицы в отношении «один ко многим» в базе данных доступа в Delphi - PullRequest
0 голосов
/ 11 ноября 2018

Я создаю персональную программу типа тренера, для которой потребуются две таблицы. В первой таблице будут указаны личные данные клиента, а во второй - вся дополнительная информация.

Я использую первичный ключ autonumber и внешний ключ для соединения двух таблиц. Но когда я хочу добавить запись во вторую таблицу, появляется сообщение об ошибке: «Невозможно добавить или изменить запись, поскольку в таблице« Имя таблицы »требуется связанная запись».

Пожалуйста, помогите, спасибо заранее

1 Ответ

0 голосов
/ 12 ноября 2018

Вам нужно будет получить идентификатор только что вставленной строки и использовать этот идентификатор в качестве внешнего ключа во второй таблице.

Как именно получить этот идентификатор отличается для каждой базы данных.В Access вы можете запросить SELECT @@identity, чтобы получить этот идентификатор.Вы можете запросить его отдельно, но я думаю, что вы также сможете использовать его непосредственно во втором операторе вставки, например:

insert into ChildTable(ParentTableId, othervalue)
values (@@identity, 'Bladiebla');

См. Также Значение автонумерации последней вставленной строки - MS Access/ VBA для получения дополнительной информации о том, как получить идентификатор.

...