我在Access 2003中设计的表单上的Access 2007中出现了奇怪的行为。
我有一个带有数据绑定子表单的未绑定主表单。在主窗体的Form_load中,我设置了子窗体sourceobject,它加载了子窗体记录集等。在子窗体加载之后,但仍然在主窗体的Form_load中,我设置了Me.FormHeader.Visible = True
。在这一行运行之后,由于某种原因,子窗体似乎关闭并重新打开 - 它的Form_Unload会激活,并且它会再次运行其加载过程。
知道为什么会这样吗?这很烦人,因为它的记录集基于参数查询,并且参数在重新加载时会被激活,因此最终会提示用户输入参数。
答案 0 :(得分:0)
有时你必须忍受(并解决)MS Access的行为,无论它多么奇怪或烦人。
在这种情况下,我可能会建议您远离参数查询,而是使用VBA提示用户输入,将其输入存储在表单级变量中,并使用该输入在子表单的Form_Load期间设置记录源事件。这样,用户只会被提示一次,并且永远不需要知道表单实际加载了两次。