Forms 激活时,不会使用我的模式/弹出表单进行重新查询
我打开了一个模式/弹出表单Forms 激活时,不会使用我的模式/弹出表单进行重新查询,forms,ms-access,combobox,modal-dialog,Forms,Ms Access,Combobox,Modal Dialog,我打开了一个模式/弹出表单frmEditContact 此表单上有一个组合框,其中充满了地址cmbAddressList,由查询填充。 当用户想要添加一个不存在的地址时,会有一个按钮打开frmAddress,用户可以在其中添加地址 frmAddress允许他们在列表中输入地址,并提供保存或取消选项(两个操作都会在之后关闭表单)。关闭此表单后,现在的重点再次放在frmEditContact上 我想在他们关闭另一个表单后,使用docmd.Requery cmbAddressList重新填充组合框 我
frmEditContact
此表单上有一个组合框,其中充满了地址cmbAddressList
,由查询填充。
当用户想要添加一个不存在的地址时,会有一个按钮打开frmAddress
,用户可以在其中添加地址
frmAddress允许他们在列表中输入地址,并提供保存或取消选项(两个操作都会在之后关闭表单)。关闭此表单后,现在的重点再次放在frmEditContact上
我想在他们关闭另一个表单后,使用docmd.Requery cmbAddressList
重新填充组合框
我不知道该在哪里处理这个问题,我在Avtivate、加载、更新、打开、聚焦上都做过尝试……但当他们使用另一个表单时,我保持frmEditContact打开时,他们都没有开火
有没有办法让frmEditContact始终处于打开状态,但仍然会触发一个动作事件,以便我可以重新询问?“激活”按钮不适用于模态形式吗?
您可以从frmAddress重新查询组合:
Forms!frmEditContact.cmbAddressList.Requery
我建议您使用保存按钮来运行重新查询。在您的
frmEditContact
代码中尝试此操作
DoCmd.OpenForm "frmAddress", acNormal, WindowMode:=acDialog
Me.cmbAddressList.Requery
由于
frmAddress
是在对话框模式下打开的,因此在关闭frmAddress
之前,下一行(Requery
)不会运行。+1,因为这是一种有效的方法。它不如Remou的好,因为它会在每次关闭frmAddress时重新查询,无论保存
或取消
@DanielCook将控件引用硬连接到frmAddress,正如R建议的那样,只要frmEditContact永远是打开frmAddress的唯一表单,它就可以正常工作。但在我看来,frmAddress听起来像是一个可以从多种形式调用的名称。@HansUp你说得很好,尽管在这种特殊情况下,frmAddress只能从frmEditContact打开。不过,我以后会记住对话模式,谢谢。这是一个很好的解决方法,但它没有解决根本问题。令人失望的是,Access没有在弹出后触发激活时的事件。