Ms访问查询性能

时间:2011-05-28 15:49:37

标签: performance ms-access query-performance

我在数据表视图中显示了一个子表单,其中包含如下记录源:

    SELECT MyTable.*, myFunction(MyTable.id) as my_result FROM MyTable

其中myFunction()是一个调用MySQL存储过程的vba函数。

问题是myFunction()被调用得太频繁了。例如,只要焦点在同一记录中从一列移动到另一列,即使记录保持不变,也会调用它。有没有办法阻止这种情况发生?

2 个答案:

答案 0 :(得分:0)

当焦点被赋予链接字段时,字段的值将被刷新。 对你的问题没有“简单”的解决方案。

但是,如果您可以在访问数据库中进行一些更改,则可以: - 使用“myFunction()”结果创建一个用MyTable填充字段的过程 - 每次显示子表单时或每次当前记录在子表单中更改时调用此过程

或者您可以: - 在子表单中添加一个未分离的字段 - 每次在子表单中更改当前记录时,通过代码输入“myFunction()”调用结果

答案 1 :(得分:0)

听起来像MyFunction()不应该在SQL语句中调用,而是在表示层中调用,例如,作为用于显示数据的表单上的控件的ControlSource。