使用Datasource加速Microsoft Access Form Load的其他方法

时间:2011-10-21 08:16:41

标签: performance ms-access ms-access-2003 form-load

我的任务是修复Microsoft Access窗体上的性能问题。该页面具有使用Query的数据源。 Query连接几个表并进行求和。问题是当页面加载时,表单使用像QueryColumn ='ImplossibleValue'这样的虚拟值来显示empty.list。表单包含搜索条件过滤器和搜索按钮。单击搜索按钮时,将设置正确的过滤器。

因为查询处理了大量数据,所以页面首先加载速度非常慢,但是当表单打开时,用户会看到空白查询作为设计。有没有办法打开表单并使其没有数据源?

3 个答案:

答案 0 :(得分:3)

您可以将recordsource更改为返回Null值的查询,不需要引用任何表。

SELECT Null AS field1, Null AS field2;

用户选择搜索条件后,将记录源更改为包含这些条件的查询。更改记录源会自动触发重新查询。

如果用户在将记录源更改为搜索查询后保存表单设计,则表单将在下次打开时再次使用该表单。您可以通过在窗体打开事件期间重置该属性来强制窗体始终以伪行查询作为其记录源打开。

Me.RecordSource = "SELECT Null AS field1, Null AS field2;"

答案 1 :(得分:0)

打开表单时,请在docmd.openform语句中使用where条件。其中primarykey = null将没有记录,您不需要解除整个表单的绑定。

答案 2 :(得分:-1)

10年前我和Jet有类似的性能问题,我发现的唯一解决方案是迁移到Access Data Projects。

使用SQL Server升级到客户端 - 服务器应用程序,运行几个查询向导来确定正确的索引,并且您将立即获得出色的性能。