如何刷新访问表单

时间:2008-10-17 13:55:53

标签: vba ms-access access-vba refresh

我正在构建一个MS Access应用程序,其中所有表单都是模态的。但是,在表单中的数据更改后,我想用更新的数据刷新此表单的父表单。有没有办法做到这一点。进一步阐述:

考虑有两种形式,形式A和形式B.两种形式都是模态形式。从表格A,我发起表格B,现在表格B引起了用户的注意。但是在表格B结束时,我想刷新表格A.有没有办法做到这一点?

5 个答案:

答案 0 :(得分:8)

您可以重新绘制和/或重新查询:

在表格B的结束事件中:

Forms!FormA.Requery

这是你的意思吗?

答案 1 :(得分:7)

  

不,就像我想要运行Form_Load一样   表格A,如果可能的话

- Varun Mahajan

通常的做法是将相关代码放在可由两个表单调用的过程中。最好将代码放在标准模块中,但您可以在Form a:

上使用它

表格B:

Sub RunFormALoad()
   Forms!FormA.ToDoOnLoad
End Sub

表格A:

Public Sub Form_Load()
    ToDoOnLoad
End Sub    

Sub ToDoOnLoad()
    txtText = "Hi"
End Sub

答案 2 :(得分:1)

“Requery”确实是你想要运行的东西,但是你可以在Form A的“On Got Focus”事件中做到这一点。如果您的Form_Load中有代码,也许可以将其移动到Form_Got_Focus。

答案 3 :(得分:0)

我建议您使用REQUERY您已更改数据的特定组合框,并在Cmd.Close语句后执行此操作。这样,如果您输入数据,那么该数据也会被重新获取。

DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery

您可能还想指向最近更改的值

Dim id As Integer
id = Me.[Index_Field]
DoCmd.Close
Forms![Form_Name]![Combo_Box_Name].Requery
Forms![Form_Name]![Combo_Box_Name] = id

此示例假设您打开了一个表单以将数据输入到辅助表中。

让我们假设您将School_Index和School_Name保存在School表中,并在Student表(仅包含School_Index字段)中引用它。在您编辑学生时,您需要将他与不在您学校学习桌等的学校联系起来

答案 4 :(得分:-1)

刷新您需要输入的表单 - me.refresh 点击按钮事件