2014-05-18 51 views
1

我有2個用戶窗體:後期綁定用戶窗體的功能

Userform1 
Userform2 

他們都具備的功能UpdateFields,這是在每一個不同的方式實現。 我有3函數,需要輸入一個用戶表單,並試圖調用UpdateField功能:

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

有誰知道如何可以做到這一點?

+0

將objForm類型更改爲Object。 Form是表單繼承的基類,所以您自己的UpdateFields不會被Form知道。 –

+0

我試過了,它沒有工作 – Pedrumj

+0

好吧我只是檢查了這一點 - 它確實與類型作爲對象(對我來說)。在UpdateFields函數中仔細檢查您的作用域。 –

回答

1

以下適用於我。你表明它不適合你。你能解釋一些與我下面的粗糙設置有什麼不同嗎?這將有助於縮小問題的範圍。

在標準模塊:

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

Sub FrmUpdate(frm As Object) 
    frm.UpdateFields 
End Sub 

在一種形式中的代碼隱藏(稱爲Form_Table1):

Public Function UpdateFields() 
    Debug.Print "Form 1 Update" 
End Function 

在另一種形式的代碼隱藏(稱爲[表1的Form_Copy]):

Public Function UpdateFields() 
    Debug.Print "Form 2 Update" 
End Function 

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

+0

它的工作原理,謝謝。我有功能設置爲私人:) – Pedrumj

+0

@VBAProgrammer我一直這樣做;) –