在formheader = visible上重新加载MS Access 2007子表单?

时间:2011-05-05 16:29:31

标签: forms ms-access ms-access-2007

我在Access 2003中设计的表单上的Access 2007中出现了奇怪的行为。

我有一个带有数据绑定子表单的未绑定主表单。在主窗体的Form_load中,我设置了子窗体sourceobject,它加载了子窗体记录集等。在子窗体加载之后,但仍然在主窗体的Form_load中,我设置了Me.FormHeader.Visible = True。在这一行运行之后,由于某种原因,子窗体似乎关闭并重新打开 - 它的Form_Unload会激活,并且它会再次运行其加载过程。

知道为什么会这样吗?这很烦人,因为它的记录集基于参数查询,并且参数在重新加载时会被激活,因此最终会提示用户输入参数。

1 个答案:

答案 0 :(得分:0)

有时你必须忍受(并解决)MS Access的行为,无论它多么奇怪或烦人。

在这种情况下,我可能会建议您远离参数查询,而是使用VBA提示用户输入,将其输入存储在表单级变量中,并使用该输入在子表单的Form_Load期间设置记录源事件。这样,用户只会被提示一次,并且永远不需要知道表单实际加载了两次。