是啥导致 Access 2010 中出现“在任何记录中未找到搜索键”错误?
Posted
技术标签:
【中文标题】是啥导致 Access 2010 中出现“在任何记录中未找到搜索键”错误?【英文标题】:What causes a "The search key was not found in any record" error in Access 2010?是什么导致 Access 2010 中出现“在任何记录中未找到搜索键”错误? 【发布时间】:2013-09-17 08:29:37 【问题描述】:在 Access 2010 中的一个表的一条记录中出现错误消息“在任何记录中找不到搜索键”。
我首先在通过更新查询访问该记录时注意到了这一点,但后来发现在尝试删除该记录时我也遇到了同样的错误。
是什么原因造成的,如何解决?
【问题讨论】:
【参考方案1】:这只是数据库损坏,但我被它只影响一条记录误导了。 Compact and Repair 立即对其进行了分类。
【讨论】:
【参考方案2】:有时会发生这种情况,因为字段名称包含前导空格,请确保您的字段名称前后修剪。 示例:当我尝试导入包含第一行作为字段名称的 Excel 工作表时,我遇到了这种情况,其中两个字段名称是“纬度”和“经度”。从this post我知道了问题的原因,所以我将它们更改为“纬度”和“经度”(没有前导空格),问题就解决了。
【讨论】:
【参考方案3】:我知道这是一篇旧帖子,但我只是遇到了这个问题,其他答案似乎都没有解决或解决我的情况。
使用 dbase 的副本,我不得不继续删除表,直到错误消息停止。
出错的表是一个名为 MSysComplexColumns 的隐藏系统表。我删除了它,关闭了数据库,并在重新打开数据库时自动创建了表。这完成了解决它,没有任何副作用。
【讨论】:
【参考方案4】:就我而言,此错误消息是由我的 Access 文件的大小触发的。当它的大小超过 2,000,000 KB 时,当我正在导入另一个文档时会弹出该消息。只要我减小它的大小,消息就会停止并且导入过程成功完成。
【讨论】:
【参考方案5】:还要检查数据库版本。我在 Access 2010 中遇到了 VBA CreateDatabase(sTempDBName, dbLangGeneral) 的问题,我正在使用 2003 数据库尝试链接 2010 数据库中的表。当我手动尝试链接时,我收到一条关于不支持链接到更高版本的消息。创建临时数据库我试图使用选项 dbVersion40 "CreateDatabase(sTempDBName, dbLangGeneral, dbVersion40)" 来解决它。
【讨论】:
以上是关于是啥导致 Access 2010 中出现“在任何记录中未找到搜索键”错误?的主要内容,如果未能解决你的问题,请参考以下文章