Отчеты MS-доступа. Ключ поиска не найден ни в одной записи - при сохранении
Иногда мои сообщения MS Access:
Ключ поиска не найден ни в одной записи
После этого решение должно закрыть Access, compact и
восстановите бэкэнд, а затем удалите запись.
Что вызывает это и как я могу его избежать?
Ответы
Ответ 1
Это может быть ошибка новичков с моей стороны, но она все еще вызывала сообщение об ошибке. Я импортировал таблицу Excel и имел место перед полевым заголовком. Как только пространство было удалено, файл не импортировал никаких проблем.
Примечание: Пространство появляется только при просмотре файла в Excel; когда Access пытается импортировать, диалоговое окно избавляется от пространства, но пространство все еще вызывает проблемы. Я усвоил этот трудный путь...
Ответ 2
Вы не указываете версию Access, которую используете. Microsoft сообщает об ошибке в 2000 году:
BUG: вы получаете сообщение об ошибке "Поиск ключа не было обнаружено в любой записи" при сжатии базы данных или сохранении изменений дизайна в Access 2000
http://support.microsoft.com/kb/301474
Если это не ваша проблема, вот довольно подробный FAQ от Tony Toews, Microsoft Access MVP:
Часто задаваемые вопросы о поврежденном Microsoft Access MDBs
http://www.granite.ab.ca/access/corruptmdbs.htm
Если проблема постоянно возникает, вам нужно найти причину повреждения вашей таблицы, и вы найдете ряд предложений по отслеживанию причины в ссылке сайта выше.
Ответ 3
Проблема для меня была пробелом ПЕРЕД одним из заголовков столбцов. Как только я исправил это, больше проблем
Ответ 4
Любые пробелы в именах столбцов в Excel вызвали ошибку для меня. Как только я удалил все пробелы, он импортировался без проблем.
Ответ 5
Проблема Thew связана с пробелами в заголовках (заголовки). Удалите пробелы во всех заголовках, и он отлично работает.
Ответ 6
Другой потенциальной причиной этой ошибки является Режим Sandbox, который запрещает MS Access выполнять определенные заявления которые считаются небезопасными. Это можно отключить, установив следующий раздел реестра...
HKLM\Software\Microsoft\Office\12.0\Access Connectivity Engine\Engines
SandboxMode (DWORD Value)
... до 0 или 2:
SETTING DESCRIPTION
0 Sandbox mode is disabled at all times.
1 Sandbox mode is used for Access, but not for non-Access programs.
2 Sandbox mode is used for non-Access programs, but not for Access.
3 Sandbox mode is used at all times. This is the default value.
Ответ 7
Я нашел пробел в одном из заголовков (заголовков) на листе Excel. Как только я удалил пробел перед именем, он прошел гладко.
Ответ 8
Другой возможной причиной этой ошибки является файл несогласованной рабочей группы. То есть, если вы попытаетесь использовать защищенный (или частично защищенный) MDB с файлом рабочей группы, отличным от того, который использовался для его защиты, вы можете вызвать ошибку (я видел это сам, много лет назад с Access 2000).
Ответ 9
Вот те шаги, которые я последую, может быть, это полезно для вас,
Ответ 10
Я также получил сообщение "Ключ поиска не найден ни в одной записи". Когда я переместил мою базу данных с сетевого диска на свой рабочий стол, все прошло гладко и быстрее. Я снова не получил ту же ошибку.
Ответ 11
Да, я с user2315734... Имел ту же проблему "Ключ поиска не был найден ни в одной записи", где db Access был на локальном диске, но файл Excel, который я импортировал, был включен сетевой диск; после того, как вы попробовали большинство из вышеприведенных предложений, окончательно разрешил его только с помощью перемещения файла Excel на локальный диск.
Спасибо всем.
Ответ 12
Это проблема с одним из ваших заголовков в Excel. Я получаю это при копировании в других источниках. Исправьте свои заголовки, и это должно решить проблему.
Ответ 13
Также проверьте версию базы данных. У меня возникла проблема с VBA CreateDatabase (sTempDBName, dbLangGeneral) в Access 2010, где я использовал базу данных 2003, пытающуюся связать таблицу в базе данных 2010 года. Когда я вручную попробовал ссылку, я получил сообщение о отсутствии поддержки для ссылки на более позднюю версию. Создав временную базу данных, которую я пытался связать с использованием опции dbVersion40 "CreateDatabase (sTempDBName, dbLangGeneral, dbVersion40)", вылечил ее.
Ответ 14
Я знаю, что это очень старая статья, но, поскольку я искал дополнительные решения для этой же ошибки во время выполнения моей команды (ранее я сталкивался с пробелами в заголовках wb Excel и исправлял ее с помощью VBA при каждом обновлении файла, поэтому я знал, что это не так).
Я учел тот факт, что файл xlsm и БД находились на разных сетевых дисках, но не хотел исследовать их перемещение, если только это не было моим последним средством.
Я попытался запустить импорт сохранения вручную, и он оказался прямо перед моим лицом.
Папка, содержащая файл xlsm, была переименована.... Я изменил имя обратно, чтобы соответствовать сохраненному импорту, и... smh, так было всегда.
Ответ 15
В Access 2007 эта ошибка возникает при импорте файла Excel, в котором есть два поля с тем же заголовком столбца.