【问题标题】:Access Error 3813 - Open Query in Design/SQL View访问错误 3813 - 在设计/SQL 视图中打开查询
【发布时间】:2016-02-09 17:43:08
【问题描述】:
我有一个继承的 Access 数据库,并且今天正在对查询进行更改以尝试提取一些新数据。我搞砸了设计更改并拉入了一个如此大的表,以至于现在打开查询会给我一个错误 3813。文本如下:
查询无法完成。查询结果的大小大于数据库的最大大小(2 GB),或者磁盘上没有足够的临时存储空间来存储查询结果。
我显然想修复这个查询,但试图在设计视图中打开它会使数据库没有响应,然后出现同样的错误。
有没有办法强制在 SQL 或设计视图中打开它来修复它?似乎很奇怪,这是不可能的。
【问题讨论】:
标签:
ms-access
ms-access-2010
【解决方案1】:
重命名查询中使用的表/查询之一,将强制 Access 在出现错误消息后以 SQL 模式打开它。直接重命名可能无济于事,因为 Access 在相关查询中更新对象名称,所以最好的方法 - 创建一个副本,然后删除原始表/查询。
要将 Access 对象卸载为文本,您可以使用 SaveAsText:
Application.SaveAsText acQuery, "MyQyeryName", "C:\TEMP\query.txt"
【解决方案2】:
您可以运行一些 VBA 将损坏的查询的 SQL 发送到即时窗口,然后将其复制到新查询中并从头开始:
Dim qDef As DAO.QueryDef
Set qDef = CurrentDb.QueryDefs("myBrokenQueryName")
Debug.Print qDef.SQL