我协助Access开发的组织最近从Office 2010升级到Office 365。 自更改以来,数据库不再显示为其值调用VBA函数的任何文本字段。 一个简单的例子:一个表单有一个文本框,其控件源设置为“= GetVersionTitle()”,这是一个简单的VBA函数,它返回一串字符串。
当我在运行Office 2013的本地计算机上打开此表单时,它会正确显示所有字段但在Office 365版本的Access中打开时,该字段为空,直到您单击该字段然后运行代码并且结果显示。除此之外,屏幕底部的Access状态栏会不断显示计算...
我已经检查过所有VBA代码编译并且它没有遗漏任何引用。我已经尝试过压缩和修复数据库。关闭并重新启动计算机。
任何想法或建议都将不胜感激
编辑:在尝试诊断问题时,我发现按F9将强制表单计算值并运行在打开表单时未运行的任何过程。该行为与在Excel中关闭自动计算时发生的情况非常相似,但我不知道Access中的任何此类设置。
答案 0 :(得分:1)
我希望我能提供比这更好的答案,但至少问题已得到解决。
计算问题是网络管理员在最近的网络升级期间在组策略中所做的更改的副作用。
不幸的是,网络管理员不会向我提供任何更多细节。更改策略并重新启动所有计算机以加载新策略后,计算全部重新开始工作。
无需更改数据库。
答案 1 :(得分:0)
在不知道函数的所有细节的情况下,听起来Access正在加载表单的速度快于它可以拉函数。
您可以在表单加载时添加2秒延迟计时器,然后重新查询该字段。