Могу ли я редактировать столбец AutoNumber в Access? - PullRequest
5 голосов
/ 25 июня 2010

Я потерял свои данные в базе данных Access, и мне удалось их вернуть, но когда я копирую значения в таблице со столбцом AutoNumber, он увеличивает числа. Есть ли способ изменить его на int, а затем вернуть его к AutoNumber?

Ответы [ 6 ]

8 голосов
/ 10 апреля 2012

Вот как мне удалось это сделать в Access 2010:

  1. Сделайте резервную копию вашей базы данных. (Просто чтобы быть в безопасности.)
  2. Щелкните правой кнопкой мыши таблицу в списке таблиц и выберите «Экспорт» -> «Excel». Принять все значения по умолчанию.
  3. Откройте таблицу в Excel и внесите необходимые изменения в поле автонумерации.
  4. Открыть таблицу и удалить все строки
  5. Щелкните правой кнопкой мыши по таблице в списке таблиц и выберите «Импорт» -> «Excel».
    • В опциях выберите «Добавить в таблицу» и выберите таблицу. Принять значения по умолчанию для всех других параметров

Это не может быть жизнеспособным решением для большого стола. Я не думаю, что Excel может обрабатывать больше, чем около 65 тыс. Строк.

6 голосов
/ 26 июня 2010

Не копируйте данные с помощью пользовательского интерфейса, а добавляйте их с помощью запроса.Поскольку поле Autonumber - это просто длинное целое число со специальным значением по умолчанию, вы можете добавить к нему уже существующие значения.Это не работает в пользовательском интерфейсе, но только в SQL.

Поле Autonumber имеет несколько других свойств, которые отличаются от обычного поля Long Integer, но с точки зрения добавления данных они не имеют значения.Одно из этих свойств заключается в том, что оно не редактируется после заполнения, а другое - в каждой таблице может быть только одно.

1 голос
/ 30 июня 2010

Мне удалось вставить поля AutoNumber по коду из c #. Я беру все необходимые данные и просто вставляю в пустую таблицу.

0 голосов
/ 13 февраля 2019

SQL-код, такой как

   insert into <tablename> 
   (<column 1>, <column2>, ...) 
   values
   ( <value 1>, <value 2>, ...);

, сработает, если вы включите столбец автонумерации в свой запрос.Это довольно утомительно, но работает.Вы можете переключиться в режим SQL для любого старого запроса, чтобы ввести этот текст (обычно после подготовки его в текстовом редакторе), или, как указывает @Dominic P, вы можете вызвать немедленное окно VBA и запустить DoCmd.RunSQL "INSERT INTO ...", который даст вамлучший опыт редактора в Access.

0 голосов
/ 25 июня 2013

Сделайте резервную копию вашей таблицы данных. Удалите все данные из исходной таблицы, а затем выполните сжатие и восстановление вашей базы данных. При этом поле автоматического номера будет сброшено на 1. Теперь вы можете добавлять свои данные из резервной таблицы.

0 голосов
/ 25 июня 2010

Как вы возвращаете данные?Должна быть возможность добавить данные из вашей таблицы и сохранить существующие числа.

Однако необходимо вставить из целочисленного поля в поле автонумерации.Вы не можете изменить поле на autonumber от integer, если в нем есть данные, но вы можете изменить его на integer от autonumber.

...