我正在构建一个MS Access应用程序,其中所有表单都是模态的。但是,在表单中的数据更改后,我想用更新的数据刷新此表单的父表单。有没有办法做到这一点。进一步阐述:
考虑有两种形式,形式A和形式B.两种形式都是模态形式。从表格A,我发起表格B,现在表格B引起了用户的注意。但是在表格B结束时,我想刷新表格A.有没有办法做到这一点?
答案 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 点击按钮事件