1

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

在此处输入图像描述

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

Forms!frmOrders.MyPublicSub("Arg")

但我收到错误“找不到引用的表格'frmOrders'。有谁知道如何正确执行此操作?

谢谢你。

4

2 回答 2

2

如果您有一个已在 Access 对象(表单或报表)中声明的 VBA 过程(Sub或),那么您应该期望它对该对象表现为私有。如果你想要一个可以从“其他地方”调用的过程,那么将它放在一个常规的 VBA 中(并将其声明为,只是为了确定)。FunctionClass ModuleModulePublic

于 2013-04-23T23:20:39.220 回答
0

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

Me.NavigationSubform.Form.YourPublicProcedure

但要小心......导航表单有一些陷阱......(正如我们都发现的那样)。您显然有在正常的父表单/子表单关系中引用子表单的经验,如您上面的代码......但是导航表单的工作方式和处理方式不同。我在上面提交的代码将引用您的子表单 public sub... 但如果您当前没有查看具有 public sub 的子表单,您将抛出异常。

于 2015-04-28T02:51:31.753 回答