Как использовать Autonumber в таблице Access с существующими данными - PullRequest
0 голосов
/ 13 февраля 2020

Я нахожусь в настоящем кризисе. У нас есть таблица с существующими данными, более 100 тысяч записей. Он имеет целочисленный первичный ключ, который был пронумерован. Пожалуйста, не спрашивайте, мы должны были сделать слияние и повторный импорт. Короче говоря, Access не позволит мне изменить это поле PK обратно на Autonumber. И поскольку есть другие таблицы, имеющие внешние ключи для этого поля, я не могу просто заново создать поле. Мне нужен какой-то способ, как минимум, заставить Autonumber работать с существующим полем, или сделать авто-номер вручную. Записи добавляются через связанные формы, если это помогает. Я попытался поместить код в BeforeInsert для автоматического увеличения поля с самым высоким ID вручную, но затем, когда мы go вернулись в форму ввода данных, мы получили сообщение об ошибке: «Access Database Engine не может найти запись с ключом соответствия поля (полей). Это происходит всякий раз, когда обновляется форма. Должен быть изящный способ обойти это, но мы занимались этим часами, и я отчаянно нуждаюсь в любых идеях для обходного пути.

Спасибо !

1 Ответ

2 голосов
/ 13 февраля 2020

Создайте новую таблицу, которая является копией вашей текущей таблицы. В этой новой таблице установите для поля PK значение AutoNumber. Затем создайте запрос на добавление, который добавляет все строки в вашей текущей таблице в новую таблицу. Наконец, переименуйте вашу текущую таблицу в _backup. Переименуйте новую таблицу, которую вы создали, в исходное имя вашей текущей таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...