Ms access 后期绑定用户表单函数

Ms access 后期绑定用户表单函数,ms-access,excel,vba,Ms Access,Excel,Vba,我有两个用户表单: Userform1 Userform2 它们都有函数UpdateFields,每个函数的实现方式不同。 我有第三个函数,它接受一个用户表单作为输入,并尝试调用UpdateField函数: Public Sub ThirdFunction(Byref objForm as Form) 'trying to do this objForm.UpdateFields End Sub 有人知道如何做到这一点吗?以下内容适合我。你表示它不适合你。你能再解释一下与我下面

我有两个用户表单:

Userform1
Userform2
它们都有函数
UpdateFields
,每个函数的实现方式不同。 我有第三个函数,它接受一个用户表单作为输入,并尝试调用
UpdateField
函数:

Public Sub ThirdFunction(Byref objForm as Form)
   'trying to do this
    objForm.UpdateFields
End Sub

有人知道如何做到这一点吗?

以下内容适合我。你表示它不适合你。你能再解释一下与我下面的粗略设置有什么不同吗?这将有助于缩小问题的范围

在标准模块中:

Sub UpdateBoth()
    FrmUpdate Form_Table1
    FrmUpdate [Form_Copy Of Table1]
End Sub

Sub FrmUpdate(frm As Object)
    frm.UpdateFields
End Sub
在表单的代码隐藏(称为form_Table1)中:

在另一个表单的代码隐藏中(称为[表1的表单副本]):

输出: 表格1更新
表格2更新

将objForm类型更改为Object。表单是表单继承的基础类别,因此表单不知道您自己的UpdateFields。我试过了,它不起作用,我只是检查了这个-它可以使用类型作为对象(对我来说)。仔细检查UpdateFields函数的作用域。您可以使用早期绑定
(ByRef objForm as MSForms.UserForm)
@DavidZemens我认为这不会在他的表单上公开任何自定义方法是错误的吗?这很有效,谢谢。我将函数设置为private:)@VBAProgrammer我一直都这样做;)
Public Function UpdateFields()
    Debug.Print "Form 1 Update"
End Function
Public Function UpdateFields()
    Debug.Print "Form 2 Update"
End Function