0

我在数据表视图中显示了一个子表单,该子表单具有这样的记录源:

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

myFunction()调用 MySQL 存储过程的 vba 函数在哪里。

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

4

2 回答 2

0

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

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

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

于 2011-05-28T15:59:03.157 回答
0

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

于 2011-05-28T20:56:57.657 回答