Ms access 查看访问报告的速度很慢

Ms access 查看访问报告的速度很慢,ms-access,indexing,reporting,Ms Access,Indexing,Reporting,我是新手。我有一个Access数据库,它将生成一个可以索引的报告。我的报告是关于个人的详细信息。该报告还针对每个人拥有的项目提供了一个“子报告”。当我运行报告时,底部的状态栏显示运行查询几分钟。查询完成后,我有大约200个项目可以索引。当我说index through时,我的意思是在屏幕底部有几个箭头,在那里我可以单击并查看报告中的下一项、上一项、第一项或最后一项。这就是问题所在 当我单击页面底部的任何箭头时,数据库必须再次运行查询。如果单击报告中最后一项的箭头,数据库将再次查询几分钟。如果单击

我是新手。我有一个Access数据库,它将生成一个可以索引的报告。我的报告是关于个人的详细信息。该报告还针对每个人拥有的项目提供了一个“子报告”。当我运行报告时,底部的状态栏显示运行查询几分钟。查询完成后,我有大约200个项目可以索引。当我说index through时,我的意思是在屏幕底部有几个箭头,在那里我可以单击并查看报告中的下一项、上一项、第一项或最后一项。这就是问题所在

当我单击页面底部的任何箭头时,数据库必须再次运行查询。如果单击报告中最后一项的箭头,数据库将再次查询几分钟。如果单击报表中下一个或上一个项目的箭头,数据库只查询几秒钟

如何阻止access在每次单击下一个、上一个、最后一个或第一个箭头时再次运行查询


我感谢所有的帮助。谢谢你

我不知道你是否在使用预先创建的数据库,但你说你是新来访问的,你用“索引”标记了这个。“索引”是一个根据常用字段对表进行排序的概念。您是否正确地为表编制了索引?这可能是瓶颈的一部分

您还可以尝试使用分页的概念。要在Access中执行此操作,您需要在查询中创建一个排名字段,以便对记录进行排序和编号。然后,您可以捕获上一个和下一个按钮的按键,并相应地过滤页面。例如,如果您位于第2页,并且一次显示10条记录,则报告后面的查询将更改为:

SELECT * FROM MyQuery WHERE MyRankingField BETWEEN 30 and 39

或者,正如Wayne所建议的,您可以简单地根据生成表查询的结果创建报表。

一个简单的解决方案是将查询更改为“生成表”查询,然后根据该表创建报表。假设您在表单上有一个按钮来运行报表,只需添加VBA代码来测试表是否存在,如果找到则删除它,运行“生成表”查询,然后启动报表。我喜欢这个想法。我试试看。将您的评论移至答案