Ms access MS Access:如何引用导航表单的子表单?

Ms access MS Access:如何引用导航表单的子表单?,ms-access,Ms Access,我有一个类似这样的导航表单: 客户表单中有一个命令按钮,我想从订单表单调用一个公共sub,但我不知道如何引用它。我试过: Forms!frmOrders.MyPublicSub("Arg") 但是我得到了一个错误“找不到引用的表单'frmOrders'。有人知道如何正确地执行此操作吗 谢谢。如果您有一个VBA过程(Sub或Function),该过程已在类模块中声明,用于访问对象(表单或报表),那么您应该期望它的行为与该对象的行为相同。如果您想要一个可以从“其他地方”调用的过程“然后把它放在一

我有一个类似这样的导航表单:

客户表单中有一个命令按钮,我想从订单表单调用一个公共sub,但我不知道如何引用它。我试过:

Forms!frmOrders.MyPublicSub("Arg")
但是我得到了一个错误“找不到引用的表单'frmOrders'。有人知道如何正确地执行此操作吗


谢谢。

如果您有一个VBA过程(
Sub
Function
),该过程已在
类模块中声明,用于访问对象(表单或报表),那么您应该期望它的行为与该对象的行为相同。如果您想要一个可以从“其他地方”调用的过程“然后把它放在一个常规的VBA
模块中
(并声明它为
公共
,只是为了确保)。

而Gord Thompson上面所说的是正确的。。。有时,直接在表单中引用过程更容易。。。例如,如果您的过程引用子窗体本身中的多个控件。在这种情况下,您可以通过这样调用导航子窗体来引用它:

Me.NavigationSubform.Form.YourPublicProcedure
但是要小心。。。有一些关于导航表单的问题。。。(正如我们都发现的那样)。显然,您有在正常父窗体/子窗体关系中引用子窗体的经验,如上面代码中所述。。。但导航表单的工作方式和处理方式不同。我上面提交的代码将引用您的子表单公共子。。。但是,如果您当前没有查看包含公共子窗体的子窗体,您将抛出异常