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没有在弹出后触发激活时的
事件。