Ошибка обновления данных в SharePoint 2010 и MS Access 2010 - PullRequest
4 голосов
/ 25 сентября 2010

Я столкнулся со странной ошибкой при попытке обновить список SharePoint 2010, с которым я связался через Microsoft Access 2010.

Ошибка: данные не могут быть вставлены, так как нет соответствующей записи.

Microsoft Access - Data cannot be inserted because there is no matching record.

Это происходит в 2 сценариях:

  1. Я пытаюсь выполнить любой запрос ОБНОВЛЕНИЯ к списку в MS Access
  2. Я пытаюсь обновитьзапись из списка, если представление списка отфильтровано

Второй пункт может нуждаться в объяснении.Если я просто открою связанный список в Access, прокрутите вниз до записи, которую я хочу отредактировать, и отредактируйте ее, это работает.Если я сначала отфильтрую это представление (например, показываю только записи с установленным флажком), я не смогу редактировать любые записи и получить ошибку.

Это происходит только в одной конкретной среде;другие прекрасно работают с любым подходом.Я проверил разрешения (у меня есть полный контроль над списком, я администратор семейства сайтов и т. Д.).Я пытался связываться со списком различными способами: из Access, с помощью кнопки «Открыть с помощью Access» в SharePoint.Я удалил и заново создал файл Access DB ... не повезло.

Кроме того, Google не знает об этой конкретной ошибке: поиск точного текста ошибки приводит к 0 результатам.

Есть идеи, что проверить?Выполнение запросов в стиле SQL для этого списка SharePoint - единственно возможный способ его обслуживания.

Ответы [ 11 ]

1 голос
/ 22 октября 2011

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

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

Мое исправление состояло в том, чтобы щелкнуть правой кнопкой мыши эту таблицу в Access, More Options ..., Relink Lists ...

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

1 голос
/ 25 сентября 2010

Я определил проблему.Поскольку я вручную редактировал еще несколько записей в «нефильтрованном» виде моего списка SharePoint, я обнаружил, что случайная запись все равно не будет обновляться и выдает ту же ошибку.

Я заметил, что записи, которые не будут обновляться, имеют другой набор столбцов, который был поисковым столбцом (вы правы, Remou ).Но, как ни странно, отображалось значение идентификатора, а не значение поиска.Это не имело смысла, так как MS Access также связал все связанные списки.

Я открыл соответствующий список поиска только для того, чтобы найти, что Access не получает ни одно из значений.Это снова было странно, потому что значения существовали в SharePoint, и отношение поиска было неизменным, если вы редактировали одну и ту же запись в SharePoint.Не удалось принудительно обновить Access или исправить его подключение к списку.

В итоге я удалил справочный список SharePoint и заново его создал.Это решило проблему MS Access.

0 голосов
/ 29 марта 2017

У меня была похожая проблема, связанная с списком Sharepoint (List1), который я только что экспортировал из Access to Sharepoint.Когда я связался с List1, я также обнаружил, что UserInfo был добавлен как связанный список.Я удалил эту ссылку UserInfo, считая ее ненужной, но затем обнаружил, что при попытке обновить List1 с помощью запроса на добавление я генерировал ошибки проверки.Восстановление ссылки на UserInfo исправило эти ошибки;предположительно, столбцы «Создано» и «Изменено», добавленные Sharepoint в List1, требуют поиска в UserInfo.Ответы выше указали мне правильное направление, так что спасибо.

0 голосов
/ 29 ноября 2016

Я нашел эту ошибку в еще одном сценарии.Это наблюдается с использованием SP 2013 в Prem и Access 2013.

Когда я создаю базу данных Access с помощью кнопки «Открыть с помощью Access» на странице списка в пользовательском интерфейсе SP, а затем связываю дополнительные таблицы (для другихсписки) в эту базу данных, я не могу выполнить запросы на обновление этих дополнительных таблиц.Я получаю сообщение об ошибке, отображаемое OP.Однако если я начну с пустой базы данных Access и свяжу все таблицы (списки), которые я хочу использовать при первом создании базы данных, то запросы на обновление будут работать на всех них.

Как и в случае с другимиНа плакатах в моих списках есть столбцы поиска и столбцы пользователей, и в обоих случаях Access действительно автоматически добавлял вспомогательные таблицы для этих столбцов.Кажется, что когда я использую эту кнопку «Открыть с помощью доступа», только эта таблица «правильно» связывается с вспомогательными таблицами.Во втором сценарии все, кажется, связано правильно.Осматривая две базы данных, я не мог определить, что отличалось.Но опытным путем второй сценарий был успешным, а первый - неудачным.

0 голосов
/ 06 октября 2016

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

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

0 голосов
/ 13 марта 2014

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

0 голосов
/ 06 марта 2014

В моем случае я обнаружил, что не имеет значения ни перепривязывать, ни обновлять мой прикрепленный список, который вызвал эту ошибку. Однако, когда я изначально присоединялся к своему списку SharePoint, дополнительный список автоматически связывался с моей базой данных. Щелкнув правой кнопкой мыши по этому вторичному списку> дополнительные параметры> щелкнув «обновить список», я больше не получаю сообщение об ошибке в своем основном прикрепленном списке.

Эта ошибка время от времени возникает в одном и том же первичном списке - но теперь я знаю, как ее обойти.

Мне было бы полезно прочитать больше о прилагаемых списках здесь: http://office.microsoft.com/en-us/access-help/import-from-or-link-to-a-sharepoint-list-HA001230313.aspx

0 голосов
/ 06 декабря 2013

У меня была такая же проблема со мной. После 15 часов проб и ошибок я исправил это.

У меня был список, в котором один из столбцов был столбцом поиска в другом «родительском» списке. Каким-то образом в этом столбце поиска было значение, которого НЕ было в «родительском» списке.

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

Надеюсь, это поможет

0 голосов
/ 25 ноября 2013

Я столкнулся с проблемой, и ответы выше были полезны, но не совсем по теме.Вот что вызвало у меня ошибку:

Моя проблема заключалась в том, что я добавляю имя объявления пользователя в качестве одного из полей, которые я добавляю - поле списка SharePoint - столбец "человек или группа".Sharepoint пытается преобразовать UID, который я передаю, в имя пользователя, используя таблицу Userinfo.Но я пытаюсь добавить записи, в которых цессионарий не определен, поэтому поле следует оставить пустым.Моя подпрограмма Access по умолчанию обнулялась, пытаясь ввести ее, а затем внутренний поиск SharePoint для получения имени пользователя не удался, поскольку в AD нет никого с записью # 0.Это укусило меня после многих успешных испытаний - просто внезапно уже ничего не получалось.Конечно, задним числом это произошло потому, что я попытался добавить другой набор записей тестовых данных.

0 голосов
/ 23 февраля 2013

У меня есть еще одно исправление.Мои списки поиска SharePoint уже были связаны с Access, но я только что ввел другое значение, которое пытался использовать при добавлении записей из одного списка в другой, вставляя это новое значение для этого столбца.Сначала я перепробовал все переразметки и т. Д., Но это не сработало.Я попытался связать таблицу UserInfo, и это тоже не помогло.Я должен был открыть список поиска изнутри Access, и тогда это сработало.(Я также открыл таблицу UserInfo, но не думаю, что это действительно то, что сработало.)

Однако предыдущие ответы привели меня на правильный путь, поэтому спасибо!

...