我正在学习MS Access,但我遇到了一个问题。我发现了类似的问题,但在尝试之后我仍然无法解决这个问题。
我在表单上添加了一个按钮,用于更新子表单后面的表格,现在我需要该子表单来显示新数据。任何人都可以告诉我使用什么作为控制名称,或者我是否在正确的轨道上获得我想要的东西?
我的主要表单是“EnterEmployeeSales”,我的子表单是“RetailSalesSubform”。
以下是我正在尝试做的一些屏幕截图:
编辑:我明白了。我让它太复杂了!
我一直试图输入像“Forms!Yadda!Yadda”这样的东西,但我需要输入的只是子窗体控件的名称进入我上面屏幕截图的Requery“Control Name”字段。设想!这是一个如何确定子窗体控件名称的屏幕截图(对于像我这样的其他失败者的新手):
答案 0 :(得分:3)
子表单有两个部分,子表单控件和包含的表单。重要的是使用子表单控件的名称来重新查询,而不是包含的表单的名称。所以:
Forms!MyMainForm!MySubformControlName.Form.Requery
或者在表单模块中编写代码时:
Me.MySubformControlName.Form.Requery
在表单模块中使用Me的一个优点是intellisense将为您提供子表单控件的名称。
答案 1 :(得分:1)
宏是一种方法。 VBA也可以做到这一点。在您的情况下,在“onclick”事件中,您可以放置代码:
Docmd.Requery "ServiceSalesSubform"
它做了同样的事情,但有时在VBA代码中拥有每个人都很好。当存在混合的代码和宏时,可能会混淆地告诉发生了什么以及何时发生。