2016-04-11 3 views
0

Я использую базу данных доступа MS 2016, разработанную кем-то еще. База данных содержит таблицу верхнего уровня с полем числа. Мы добавляем данные с использованием предварительно отформатированной книги Excel, импортирующей непосредственно в MS Access.Добавление строк в таблицу MS Access

Поскольку база данных была разработана, необходимо добавить несколько уровней (строк) в таблицу. Контекст - это больше сайтов выборки, чем они были первоначально скомпилированы при создании базы данных.

Так что я думал, что добавить несколько сайтов для отбора проб было бы легко. Я открыл TABLE и добавил строку для нового сайта. Я сохранил таблицу и попытался импортировать данные с нового сайта. Вот сообщение об ошибке:

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

ОК, исследуя этот ответ, привело меня к этому вопросу link для решения проблемы автозаполнения. Я выполнил инструкции по сбросу автозаполнения на TABLE верхнего уровня.

К сожалению, такое же сообщение об ошибке появляется снова, и теперь я не уверен, как действовать.

Это звучит как проблема, с которой ранее сталкивался человек? Это так специфично, что немного сложно описать.

+1

Без дополнительных знаний об используемых таблицах и понимании того, как обрабатываются импортированные данные из excel, трудно определить причину ошибки. Существуют ли другие таблицы с уникальными ограничениями? Являются ли значения в столбце уникальными? Если вы добавите определение таблицы и дополнительную информацию (снимок экрана), это поможет. Также, если ваша проблема не связана с vba, вам может быть лучше на superuser.com – surfmuggle

+0

Я знаю, что я все еще учусь, чтобы задать вопрос о Access. Намного сложнее, чем просто отправить код. Поэтому числа в столбцах действительно уникальны. Нет других таблиц с уникальными ограничениями - я не думаю. Можете ли вы определить уникальную сдержанность? С точки зрения того, как обрабатываются данные, какие-либо мысли о том, как их оценить? – boshek

ответ

0

Данные, которые вы пытаетесь вставить, уже существуют в столбцах с уникальными индексами. Чтобы понять, почему появляется ошибка, вам нужно поймать SQL, который вставляет данные в таблицу. Это может быть непросто и зависит от технологии, используемой в приложении. Я думаю, что эта ошибка генерируется кодом VBA, который импортирует данные с сайта. Прекратите выполнение кода, когда появится сообщение об ошибке (Ctrl-Break), нажмите «Отладка», комментарий On Error GoTo ... строка кода и перезапустите импорт. Отладчик остановится в строке ошибок. Скопируйте строку SQL и используйте ее в построителе запросов для анализа, попытайтесь выяснить, какие данные дублируются.

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

+0

Спасибо @Sergey S. К сожалению, этот подход устранения неполадок не работал, и я не смог поймать SQL. Шаг Ctrl-Break не дал желаемого эффекта. Какие-нибудь советы о том, как я это обойду? Поскольку Access основан на графическом интерфейсе, мне трудно понять, как проиллюстрировать мою проблему. – boshek

+0

Вы пытались удалить индексы и проанализировать вставленные данные? После удаления этой ошибки не должно появляться. –

Смежные вопросы