打开此表单后,Access VBA无法更新该表单的控制源

时间:2019-04-10 07:11:15

标签: access-vba

在Access中,我想在此表单上更新文本框的控件源之前打开一个关闭的表单。

我有以下VB代码。但是一旦窗体弹出,它就会卡在更新controlsource上,从而产生运行时错误438。打开此窗体后,我尝试了窗体上的另一个函数来刷新控件,并且它也被卡住了。

我尝试在此表单打开时对其进行操作,并且进展顺利。因此,我相信VB认为打开此表单后仍将其关闭。有谁知道如何打开一个封闭的表单并在单个sub中对其进行操作?谢谢

 ...
 DoCmd.OpenForm "frmFormName", , , , , acDialog        
 Forms.frmFormName.Text50.ControlSource = "='value'"
 ...

1 个答案:

答案 0 :(得分:3)

DoCmd.OpenForm "frmFormName", , , , , acDialog

打开表格模式。这意味着代码执行将暂停,直到关闭表单(或将其设置为Visible=False)为止。

因此,当表单已经关闭时,将执行下一行。

您可以通过OpenArgs传递参数,并在Form_Open中设置控制源,而不是从外部。