【发布时间】:2010-09-17 10:19:21
【问题描述】:
我的 MS Access 偶尔会报告:
在任何记录中都找不到搜索键
发生这种情况后,解决方案是关闭 Access、compact 和 修复后端,然后删除记录。
是什么原因造成的,我该如何避免?
【问题讨论】:
标签: ms-access
我的 MS Access 偶尔会报告:
在任何记录中都找不到搜索键
发生这种情况后,解决方案是关闭 Access、compact 和 修复后端,然后删除记录。
是什么原因造成的,我该如何避免?
【问题讨论】:
标签: ms-access
这可能是我的菜鸟错误,但它仍然导致错误消息。我正在导入一个 excel 电子表格,并且在字段标题前有一个空格。删除空间后,导入的文件没有问题
注意:只有在 Excel 中查看文件时才会出现空格;当 Access 尝试导入时,对话框摆脱了空间,但空间仍然会导致问题。我很难学到这一点...
【讨论】:
您没有提及您正在使用的 Access 版本。 Microsoft 在 2000 年报告了一个错误:
BUG:当您在 Access 2000 中压缩数据库或保存设计更改时,您会收到“在任何记录中找不到搜索键”错误消息http://support.microsoft.com/kb/301474
如果这不是您的问题,这里有一个由 Microsoft Access MVP Tony Toews 提供的非常全面的常见问题解答:
损坏的 Microsoft Access MDB 常见问题解答http://www.granite.ab.ca/access/corruptmdbs.htm
如果问题不断出现,则需要查找表损坏的原因,您会在上面的站点链接中找到一些跟踪原因的建议。
【讨论】:
对我来说,问题是在一个列标题之前有一个空格。一旦我解决了这个问题,就没有更多的问题了
【讨论】:
Excel 中列名中的任何空格都会导致我出错。一旦我删除了所有空格,它就会毫无问题地导入。
【讨论】:
问题是由于标题(标题)中的空格。删除所有标题中的空格,它工作正常。
【讨论】:
此错误的另一个潜在原因是Sandbox Mode,它会阻止 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.
【讨论】:
我在 Excel 工作表的一个标题(标题)中发现了一个空格。一旦我删除了名称前的空格,它就顺利进行了。
【讨论】:
此错误的另一个可能原因是工作组文件不匹配。也就是说,如果您尝试将受保护(或部分受保护)的 MDB 与工作组文件一起使用,而不是用于保护它的工作组文件,您可能会触发错误(我自己在几年前使用 Access 2000 就看到过)。
【讨论】:
这些是我遵循的步骤,可能对你有用,
转到菜单-工具-数据库实用程序-压缩和修复数据库。
在修复数据库时删除或更新该记录。
工作正常。
【讨论】:
我还收到消息“在任何记录中都找不到搜索键”。当我将我的数据库从网络驱动器移动到我的桌面时,一切都运行得更快更顺畅。我没有再遇到同样的错误。
【讨论】:
是的,我使用的是 user2315734... 有同样的问题“在任何记录中都找不到搜索键”,其中 Access db 位于本地驱动器上,但我正在导入的 Excel 文件在网络驱动器;在尝试了上述大部分建议后,最后也通过将 Excel 文件移动到本地驱动器解决了它。
谢谢大家。
【讨论】:
这是您在 Excel 中的一个标题的问题。从其他来源复制粘贴时,我得到了这个。修复您的标题,它应该可以解决问题。
【讨论】:
还要检查数据库版本。我在 Access 2010 中遇到了 VBA CreateDatabase(sTempDBName, dbLangGeneral) 的问题,我正在使用 2003 数据库尝试链接 2010 数据库中的表。当我手动尝试链接时,我收到一条关于不支持链接到更高版本的消息。创建临时数据库我试图使用选项 dbVersion40 "CreateDatabase(sTempDBName, dbLangGeneral, dbVersion40)" 来解决它。
【讨论】:
我知道这是一篇非常古老的帖子,但是当我在运行命令时正在寻找针对同一错误的其他解决方案时(我之前在 Excel wb 标题中遇到了空格,并在每次文件出现时都使用 VBA 进行了补救更新了,所以我知道不是那样的)。 我考虑了 xlsm 文件和 DB 位于不同的网络驱动器上的事实,但不想探索移动一个,除非这是我最后的手段。
我尝试手动运行保存导入,它就在我面前。 包含 xlsm 文件的文件夹已重命名....我将名称改回以匹配我保存的导入和....smh,一直都是这样。
【讨论】:
根据@Wilf 的回答,我试图导入一个在其中一个标题中有空格的电子表格,但我已将其删除。我检查了前导和尾随空格,但仍然遇到同样的问题 - 直到我从最后一个真正的标题单元格中使用 Ctrl-Right,并在第一行发现另一个看起来空白但显然包含一些空格的单元格。删除后,我的导入工作。 谢谢指点:)
【讨论】:
在 Access 2007 中,当导入具有相同列标题的两个字段的 Excel 文件时会发生此错误。
【讨论】: