MS Access:如何引用导航窗体的子窗体?
问题描述:
我有一个导航的形式是这样的:MS Access:如何引用导航窗体的子窗体?
有一个在客户一个命令按钮组成,我想打电话从订单形式的公共子,但我想不出如何引用它。我曾尝试:
Forms!frmOrders.MyPublicSub("Arg")
,但我得到了错误“无法找到引用的形式‘frmOrders’有谁知道如何正确地做到这一点
谢谢
答
如果你有一个。?。已在Class Module
为访问对象(窗体或报表),那么你应该期待它表现为私有到该对象被宣布VBA程序(Sub
或Function
)。如果你想有一个可以从“其他地方”调用的过程然后把它放在一个普通VBA Module
(和声明为Public
,只是可以肯定)。
答
虽然上面什么汤普森戈德说的是真的......有些时候更容易提及的程序直接在表格内...例如,如果你的程序是在子表单中引用几个控件。在这样的情况下,你可以通过调用它像这样引用导航子表单:
Me.NavigationSubform.Form.YourPublicProcedure
但要小心......有几个疑难杂症与导航形式......(因为我们都发现)。你显然有在一个正常的父窗体/子表关系引用子形式在上面的代码中的经验......但导航形式是他们是如何工作和被处理的不同。我上面提交的代码将引用您的子表单公共子...但如果您当前没有查看具有公共子表单的子表单,则会引发异常。