VBA访问:从另一个表单的代码刷新表单

时间:2011-06-21 13:35:52

标签: ms-access access-vba

编辑:没关系有人帮助过我。 form_(name).recalc或form_(name).refresh: form_main.recalc

我有两种形式:“主要”,“细节”。 在“主”窗体中,我有一个按钮,可以在对话框中打开“详细信息”。 问题是我在“详细信息”中有一个复选框,在更改时, 我需要刷新“主”。 什么命令呢? 谢谢

2 个答案:

答案 0 :(得分:4)

我将提供一个与你自己发现的答案不同的答案:

使用acDialog开关打开详细信息表单,然后在关闭时重新查询。打开详细信息表单的事件将如下所示(它将以主窗体形式显示):

  DoCmd.OpenForm "DetailForm", , , "ID=" & Me!ID, , acDialog 
  Me.Requery

这样做会暂停打开详细信息表单的代码。当您关闭详细信息表单时,它将重新查询主表单。

这是做这种事情的标准方式,在我看来。

答案 1 :(得分:1)

对于可能跟在我后面的任何人,如果您从附加到主窗体的子窗体中打开弹出窗口,则上述方法无效。

有效的方法是通过添加Me.Requery来更改主窗体上的“ Got Focus”属性。

该操作是在弹出窗口关闭后自动重新查询并更新表单中的记录...,并且焦点自动移至主表单。