Jay*_*Jay 5 ms-access vba subform ms-access-2010
在我的MS Access应用程序中,我使用的表单只包含两个控件 - 文本框和命令按钮.此表单命名为HEADER FORM
.
HEADER FORM
用作各种其他形式的标题部分中的子表单.
我想要做的是,每当一个特定的表单加载时,我想在文本框中填写详细信息HEADER FORM
(这将是已登录的人的名字.从下图中可以清楚地看到相同的内容).
我试图调用updateHeader
在所有表单的表单加载事件中命名的全局子例程.
Public Sub updateHeader()
Me![HEADER FORM].Form.txtHeaderName.Value = strPerson
End Sub
Run Code Online (Sandbox Code Playgroud)
以下是HEADER FORM
在"设计视图"中显示的图片,同样用作登录表单中的子表单.
我尝试了各种其他选项,但我无法提出正确的方式来引用表单.我从根本上做错了吗?
我看到的错误是无效使用Me
关键字.此外,我的updateHeader
子例程是一个全局子程序,它从所有表单的Form_Load事件中调用.
如果您的updateHeader()
程序包含在标准模块中,这将解释有关Me
关键字的投诉...它在标准模块中无效。
在表单模块中,Me
表示“此表单”。
您可以更改过程声明以接受对表单的引用。
Public Sub updateHeader(ByRef TheForm As Form)
' Me![HEADER FORM].Form.txtHeaderName.Value = strPerson
TheForm![HEADER FORM].Form.txtHeaderName = strPerson
End Sub
Run Code Online (Sandbox Code Playgroud)
.Value
是默认属性,因此这里不需要,所以我将其省略。但如果您愿意的话,将其添加回来也没什么坏处。
然后,您可以从父窗体调用该过程,并向该过程传递对其自身(父窗体)的引用。
updateHeader Me
Run Code Online (Sandbox Code Playgroud)