【问题标题】:MS-access reports - The search key was not found in any record - on saveMS-access 报告 - 在任何记录中都找不到搜索键 - 保存时
【发布时间】:2010-09-17 10:19:21
【问题描述】:

我的 MS Access 偶尔会报告:

在任何记录中都找不到搜索键

发生这种情况后,解决方案是关闭 Access、compact 和 修复后端,然后删除记录。

是什么原因造成的,我该如何避免?

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    这可能是我的菜鸟错误,但它仍然导致错误消息。我正在导入一个 excel 电子表格,并且在字段标题前有一个空格。删除空间后,导入的文件没有问题

    注意:只有在 Excel 中查看文件时才会出现空格;当 Access 尝试导入时,对话框摆脱了空间,但空间仍然会导致问题。我很难学到这一点...

    【讨论】:

    • 好建议。字段名称中的任何空格都会给我带来问题。
    • 我已经删除了标题中间的空格,但删除前导和尾随空格解决了我的问题
    【解决方案2】:

    您没有提及您正在使用的 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

    如果问题不断出现,则需要查找表损坏的原因,您会在上面的站点链接中找到一些跟踪原因的建议。

    【讨论】:

      【解决方案3】:

      对我来说,问题是在一个列标题之前有一个空格。一旦我解决了这个问题,就没有更多的问题了

      【讨论】:

        【解决方案4】:

        Excel 中列名中的任何空格都会导致我出错。一旦我删除了所有空格,它就会毫无问题地导入。

        【讨论】:

          【解决方案5】:

          问题是由于标题(标题)中的空格。删除所有标题中的空格,它工作正常。

          【讨论】:

            【解决方案6】:

            此错误的另一个潜在原因是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.
            

            【讨论】:

              【解决方案7】:

              我在 Excel 工作表的一个标题(标题)中发现了一个空格。一旦我删除了名称前的空格,它就顺利进行了。

              【讨论】:

                【解决方案8】:

                此错误的另一个可能原因是工作组文件不匹配。也就是说,如果您尝试将受保护(或部分受保护)的 MDB 与工作组文件一起使用,而不是用于保护它的工作组文件,您可能会触发错误(我自己在几年前使用 Access 2000 就看到过)。

                【讨论】:

                  【解决方案9】:

                  这些是我遵循的步骤,可能对你有用,

                  1. 转到菜单-工具-数据库实用程序-压缩和修复数据库。

                  2. 在修复数据库时删除或更新该记录。

                  3. 工作正常。

                  【讨论】:

                    【解决方案10】:

                    我还收到消息“在任何记录中都找不到搜索键”。当我将我的数据库从网络驱动器移动到我的桌面时,一切都运行得更快更顺畅。我没有再遇到同样的错误。

                    【讨论】:

                      【解决方案11】:

                      是的,我使用的是 user2315734... 有同样的问题“在任何记录中都找不到搜索键”,其中 Access db 位于本地驱动器上,但我正在导入的 Excel 文件在网络驱动器;在尝试了上述大部分建议后,最后也通过将 Excel 文件移动到本地驱动器解决了它。

                      谢谢大家。

                      【讨论】:

                        【解决方案12】:

                        这是您在 Excel 中的一个标题的问题。从其他来源复制粘贴时,我得到了这个。修复您的标题,它应该可以解决问题。

                        【讨论】:

                          【解决方案13】:

                          还要检查数据库版本。我在 Access 2010 中遇到了 VBA CreateDatabase(sTempDBName, dbLangGeneral) 的问题,我正在使用 2003 数据库尝试链接 2010 数据库中的表。当我手动尝试链接时,我收到一条关于不支持链接到更高版本的消息。创建临时数据库我试图使用选项 dbVersion40 "CreateDatabase(sTempDBName, dbLangGeneral, dbVersion40)" 来解决它。

                          【讨论】:

                            【解决方案14】:

                            我知道这是一篇非常古老的帖子,但是当我在运行命令时正在寻找针对同一错误的其他解决方案时(我之前在 Excel wb 标题中遇到了空格,并在每次文件出现时都使用 VBA 进行了补救更新了,所以我知道不是那样的)。 我考虑了 xlsm 文件和 DB 位于不同的网络驱动器上的事实,但不想探索移动一个,除非这是我最后的手段。

                            我尝试手动运行保存导入,它就在我面前。 包含 xlsm 文件的文件夹已重命名....我将名称改回以匹配我保存的导入和....smh,一直都是这样。

                            【讨论】:

                              【解决方案15】:

                              根据@Wilf 的回答,我试图导入一个在其中一个标题中有空格的电子表格,但我已将其删除。我检查了前导和尾随空格,但仍然遇到同样的问题 - 直到我从最后一个真正的标题单元格中使用 Ctrl-Right,并在第一行发现另一个看起来空白但显然包含一些空格的单元格。删除后,我的导入工作。 谢谢指点:)

                              【讨论】:

                              • 显然,如果有人想将此详细信息添加到社区答案中,我对此没有任何问题。我试图将此作为对 Wilf 答案的评论,但在这个社区中还没有足够的 Rep。
                              【解决方案16】:

                              在 Access 2007 中,当导入具有相同列标题的两个字段的 Excel 文件时会发生此错误。

                              【讨论】:

                              • 呃,不,这种情况不会发生——我刚刚测试过(使用向导和 TransferSpreadsheet),它像在早期版本的 Access 中一样导入它,提供了一个独特的重复列的名称。可能在导入时有时会发生此错误,但它与源电子表格中的列标题重复无关。
                              猜你喜欢
                              • 1970-01-01
                              • 2015-03-20
                              • 2013-01-28
                              • 1970-01-01
                              • 1970-01-01
                              • 2019-12-28
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              相关资源
                              最近更新 更多