MS Access 2007 Дубликаты значений (ошибка нарушения ключа) и устранены дубликаты значений - PullRequest
1 голос
/ 07 августа 2010

Я импортировал файл Excel того же типа в MS Access 2007, и до недавнего времени у меня не было проблем.Сообщение говорит, что у меня есть нарушение ключа, когда я перезаписываю таблицу.В файле Excel (поле первичного ключа) были дубликаты, которые я удалил, и я тщательно проверил файл Excel.Я повторно импортировал, и он все еще показывает то же самое сообщение.

Какие действия я могу предпринять, чтобы решить?

Дубликаты значений (ошибка нарушения ключа) Импортируемые записи могут содержать дубликаты значений, которые невозможно сохранить в поле первичного ключа таблицы назначения или в поле, для свойства Indexed которого установлено значение Да (Нет дубликатов)).Удалите повторяющиеся значения в исходном файле и попробуйте импортировать снова.

Ответы [ 4 ]

2 голосов
/ 10 августа 2010

Все, что вы можете сделать, это сосредоточиться на проблеме.Я склонен сомневаться, что это ошибка, но даже если это так, вам все равно нужно найти точный триггер.

  1. В файле Excel сведите ключевые столбцы вместе,и отсортировать таблицу Excel для него / них.Добавьте условное форматирование, используя формулу для этого полного диапазона (если оно началось в A2, условное форматирование будет иметь вид = A2 = A1, без знака доллара) с некоторым жирным шрифтом, заливкой и т. Д., Чтобы любые дубликаты были четко видны.1006 *

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

  3. Копирование строк небольшими партиями (не знаюсколько строк вы говорите, но говорите 50-100 за один раз) на новый лист, а затем связываете и импортируете (в исходную таблицу) из нового листа, пока не сможете сузить ряд строк, в которых возникает ошибкаот.(Если одна небольшая партия дает сбой, продолжайте уменьшать ее.)

Если это действительно не нарушение, а ошибка, опубликуйте неверные значения и определение таблицы со всеми полями.Размеры и состав ключа / индекса / валидации здесь.

1 голос
/ 23 февраля 2014

Перейдите в режим конструирования определенной таблицы, в которую вы хотите добавить дубликаты данных, и выберите строку, которая добавляется как дубликат, и измените индекс на YES (DUPLICATE), чем добавляйте дубликаты данных в эту таблицу базы данных MS-Access.....................

0 голосов
/ 07 июня 2018

У меня была такая же проблема при импорте листов Excel в Access. Ошибка для меня была вызвана пустыми строками в конце листа Excel. Если это так, то самый простой способ справиться с этим - просто скопировать информацию с вашего листа Excel на другой лист без пустых строк, по какой-то причине у макросов, которые я пытался удалить, не было пустых строк. эффект.

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

0 голосов
/ 10 августа 2010

Внимательно проверьте таблицу базы данных Access. Access часто решает индексировать поля от вашего имени. Обычно это не УНИКАЛЬНЫЕ индексы (выраженные в Access как свойство «Duplicates OK» в столбце «Нет»), но, возможно, у вас есть некоторые дополнительные индексы, о которых вы не знаете.

Также проверьте, есть ли в таблице поле автонумерации, и убедитесь, что автонумерация не испортилась (удалите и повторно добавьте объявление автонумера в пустую таблицу).

...