我的导航表单如下:
在Customers表单中有一个命令按钮,我想从Orders表单中调用public sub,但我无法弄清楚如何引用它。我试过了:
Forms!frmOrders.MyPublicSub("Arg")
但我收到错误“找不到引用的表格'frmOrders'。有谁知道如何正确地做到这一点?
谢谢。
答案 0 :(得分:2)
如果您有一个VBA程序(Sub
或Function
)已在Class Module
中为Access对象(表单或报表)声明,那么您应该期望它的行为与专用于该对象。如果您想要一个可以从“其他地方”调用的过程,那么将其放在常规VBA Module
中(并将其声明为Public
,以确保)。
答案 1 :(得分:0)
虽然Gord Thompson上面说的是真的...有时候直接引用表单中的过程更容易...例如,如果你的过程在子表单中引用了几个控件本身。在这些情况下,您可以通过调用它来引用导航子表单:
Me.NavigationSubform.Form.YourPublicProcedure
但要小心......导航表格有一些问题......(正如我们所发现的那样)。您显然具有在正常的父表单/子表单关系中引用子表单的经验,如上面的代码...但导航表单在工作和处理方式上有所不同。我上面提交的代码将引用您的子表单public sub ...但如果您当前没有查看具有public sub的子表单,则会抛出异常。