简体   繁体   English

如何更新另一个表单的子表单中的过程?

[英]How to update a procedure in another form's subform?

I have a form (MainForm) with 2 subforms, sfrmA & sfrmB. 我有一个包含2个子表单sfrmA和sfrmB的表单(MainForm)。 I need to call a procedure (ProcInB) in sfrmB from sfrmA . 我需要从sfrmA调用sfrmB中的过程(ProcInB)。 None of these work: 这些都不起作用:

Forms!MainForm.sfrmB.Form.ProcInB
Call MainForm.Forms.sfrmB.ProcInB
Forms!MainForm![sfrmB].Form.ProcInB
Call MainForm.Forms.sfrmB.ProcInB
Call Forms.MainForm.ProcInB

I've also tried parentheses, quotes, etc. Nothing seems to work and an exhaustive search hasn't provided this specific situation or solution. 我还尝试了括号,引号等。似乎没有任何效果,并且详尽的搜索未提供此特定情况或解决方案。

Hope someone has the answer! 希望有人回答!

Thx! 谢谢!

To call a procedure in a form (or any class) module, you do 要在表单(或任何类)模块中调用过程,您需要

Call Form_sfrmB.ProcInB()

Of course ProcInB() must be declared as Public . 当然,必须将ProcInB()声明为Public

Form_<name> is how form class modules are named, you see it in the VBA project explorer. Form_<name>是表单类模块的命名方式,您可以在VBA项目浏览器中看到它。

It doesn't matter if the form is a subform in another form. 表单是否为另一表单的子表单并不重要。 The syntax variations you tried are for accessing controls on subforms, not functions. 您尝试的语法变体用于访问子表单上的控件 ,而不是函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM