Access 2010 - 由选项卡表单加载的参考表单

时间:2012-02-07 23:49:38

标签: ms-access vba ms-access-2010

我有一个名为Home的标签表单,我想说例如刷新其中一个标签(或当前标签)中加载的另一个表单。

我尝试了以下内容:[Forms]![Home].[Form]![AnotherForm].[Form].Refresh

但没有快乐 - 什么是正确的语法?

2 个答案:

答案 0 :(得分:1)

Forms![Home]![Name_of_subform_control_on_Home_form].Requery

或(替代语法):

Forms("Home")("Name_of_subform_control_on_Home_form").Requery

一些澄清:

  1. 在Access中,嵌套的子表单始终放在子表单控件中 如果要以编程方式访问子表单,则必须使用子表单控件的名称,而不是嵌套子表单本身的名称!
  2. 子表单控件是直接在Home表单上还是在选项卡控件中无关紧要。您始终使用表单和子表单控件的名称,您不需要选项卡控件的名称。
  3. 当执行刷新的代码直接以Home形式时,解决方案会更短:

    Me.Name_of_subform_control_on_Home_form.Requery
    

    修改

    我刚刚注意到我在回答中使用了Requery而不是Refresh(可能是因为我在他建议使用Requery之前阅读了ChrisPadgham's answer。)

    您可以使用上面显示的语法同时呼叫RequeryRefresh 使用哪一个取决于您想要做什么:

    • 如果要重新加载表单
    • 的数据源,请使用Requery
    • 如果要重新加载表单本身,请使用Refresh,即刷新控件

答案 1 :(得分:0)

你试过Requery而不是Refresh