症状
在 Microsoft Access 中,使用传递查询作为其他查询中的源表时,可能会遇到性能缓慢的问题。
原因
Microsoft Access 不存储传递查询的定义。 因此,传递查询可能在不同时间执行,以检索与其定义相关的信息。 当传递查询需要相当长的时间执行时,在执行传递查询时,Access 似乎会挂起。
解决方法
根据你在 Access 中注意到问题的位置,有许多方法可用于防止此问题。常规更改:
-
提高传递查询性能,以减少执行查询所需的时间。
-
无需使用传递查询,而是在 SQL Server 中创建视图,并将该视图链接到 Access 作为链接表。
特定方案:设计查询:
-
在 Access SQL 视图(而不是设计视图)中进行更改 (在查询设计视图中,可以通过先在设计视图中打开查询来将视图更改为 SQL 视图。 然后转到功能区上“设计”选项卡上的“结果”部分。)
-
此问题会影响保存的查询。 因此,可以在 Access SQL 视图中打开现有查询,复制 SQL 语法,创建新查询,将 SQL 语法粘贴到 SQL 视图中,然后将查询更改为设计视图。 在保存查询之前,你将能够设计出没有该问题的查询。
打开窗体或执行查询:
-
将记录集类型属性更改为 Snapshot。 (在设计视图中,从功能区的“设计”选项卡的“显示/隐藏”组)
查看报表:
-
将报表更改为使用传递查询作为其记录源