运行某些(不是全部)查询时,拆分后访问崩溃

时间:2019-01-08 13:03:16

标签: ms-access

我的数据库(Access 2016)运行良好,但我需要将其拆分以将前端与数据表分开。

拆分后,我发现运行一个较大的查询会导致Access完全关闭而没有任何提示,并为后端文件创建一个孤立的锁定文件。大型查询是使用许多较小的子查询构建的。

拆分数据库是否会引起诸如此类的常见问题?

对于相同的大型查询,这是可重复的,并且我尝试从备份中重新拆分数据库。同样的问题。

大型查询的所有子查询都可以独立运行。我一次系统地删除了一个子查询,以识别是哪个引起了问题。

我发现删除1个子查询(称为sq1)或删除2个其他子查询(sq2和sq3)可以解决此问题。在每种情况下,联接都将显示大型查询中的所有记录,而子查询中仅显示匹配的记录。我需要删除EITHER sq1或sq2和sq3才能使大型查询正常工作。

正如我所说,所有3个子查询都单独运行“确定”,但是当作为子查询运行时,它们会导致大型查询导致Access关闭。

有什么建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

很可能您正在通过慢速网络执行查询。如果是这样,这里有一些建议的解决方案

  1. 检查Windows事件日志以查看是否记录了有关崩溃根源的更多信息的错误。
  2. 将两个文件(后端和前端)都放在同一本地计算机上。如果这对您的业务案例无效,至少可以帮助您确定根本原因
  3. 优化查询以增强其执行计划,从而最大程度地减少执行时间。 (这取决于当前查询的编写方式以及是否有任何需要改进的地方)
  4. 将查询移至后端,并使前端逻辑仅显示结果

此外,在拆分过程中可能发生了错误,您可以尝试以下不同的方法

  1. 从当前原始文件(包含后端和前端的单个文件)中导入表单,查询,宏等
  2. 通过链接表管理器,在原始文件上创建指向当前表的链接