MS ACCESS:100 条记录后删除操作失败

问题描述 投票:0回答:1

我遇到了 MS Access 问题。我有一个删除例程设置(SQL),可以在重新加载之前清除整个表。由于某种原因,当它达到 100 条已删除记录时,它会出现以下错误:

3027 - 无法更新。数据库或对象是只读的。

我尝试了所有不同类型的删除方法,但结果相同。

MS ACCESS 是 2016 年推出的,最近才开始出现。有人见过类似的东西吗?我使用的代码非常简单:

    strStep = "Step 1 : Purge Table"
    strSQL = "" & _
            "DELETE [Name_List].* FROM [Name_List]"
    db.Execute strSQL, dbFailOnError

如果我手动突出显示整个表格并按删除键,它就可以工作。非常感谢任何帮助!

sql vba ms-access ms-access-2010 ms-access-2016
1个回答
0
投票

错误消息“3027 - 无法更新。数据库或对象是只读的”通常表示您尝试修改的 Access 数据库或特定表处于只读状态。造成这个问题的原因可能有多种。您可以采取以下一些步骤来排除故障并可能解决问题:

检查文件权限: 确保 Access 数据库所在的文件夹具有运行 Access 的用户帐户所需的写入权限。 确保 Access 数据库文件本身未标记为只读。在 Windows 资源管理器中右键单击该文件,转到“属性”,并确保未选中“只读”属性。

检查数据库权限: 确认您的用户帐户具有修改数据库的适当权限。如果数据库托管在网络上,您可能需要咨询数据库管理员或 IT 部门。

压缩和修复数据库: 有时,Access 数据库可能会损坏或遇到问题。尝试压缩并修复数据库以查看是否可以解决问题。为此,请转到“数据库工具”选项卡并选择“压缩和修复数据库”。

检查链接表: 如果您尝试删除的表是链接表,请确保源数据库不是只读的或被其他用户锁定。

检查表锁: 确保没有其他用户或进程同时访问该表,这可能会锁定该表。

数据库拆分: 如果您的Access数据库是连接后端数据库的前端(常用于多用户场景),请确保后端数据库没有设置为只读。

病毒或备份软件: 有时,防病毒或备份软件可以锁定数据库文件。确保没有此类软件干扰您的数据库。

数据库损坏: 如果上述解决方案均不起作用,则可能存在某种程度的数据库损坏。在这种情况下,可能需要从备份恢复或创建新数据库并将对象(表、查询、表单等)导入到新数据库中。

访问版本和更新: 确保您的 MS Access 软件是最新的,具有最新的服务包和更新。有时,此类问题可以通过软件更新来解决。 删除前压缩并修复:

您可以在运行 DELETE 查询之前尝试运行“压缩和修复数据库”操作,看看是否有影响。 如果尝试这些步骤后问题仍然存在,那么让 IT 专业人员或数据库管理员进一步诊断和解决问题可能会有所帮助,特别是当问题发生在网络或多用户环境中时。

© www.soinside.com 2019 - 2024. All rights reserved.