想象一下,爲了防火目的,窗體僅包含需要相互鏡像的子窗體和文本框。如何從主窗體中引用子窗體中的對象上的事件
我試圖通過對文本框設置控制源到子窗體中的字段的值來實現這一點,這工作,使它們互爲鏡像,但文本框是不可編輯的,所以這是一個不合適的解。
我決定嘗試的下一件事是在兩個控件上使用AfterUpdate事件來運行設置其他控件的值的代碼。
這是容易的文本框:
'Set value of Notes field on subform whenever value of the corresponding textbox
Private Sub Notes_Textbox_AfterUpdate()
Me.subform.Form![Notes] = Me.Notes_Textbox.Text
End Sub
然而,這不是子窗體字段一樣簡單。我不知道如何以某種方式引用子窗體中的某個字段上的事件,這種方式仍然允許我引用子窗體之外的控件。
作爲示範,我需要一種方法來做到這一點:
Private Sub subform_Notes_AfterUpdate()
Me.Notes_Textbox.Text = Me.subform.Form![Notes]
End Sub
我能子窗體的範圍內訪問窗體字段更新後事件,但如果我這樣做,那麼我將無法訪問文本框,因爲它在主窗體中,而不是子窗體。
所以我要麼需要一種方法來定義從主窗體範圍內的子窗體中的字段上的事件函數,或者使窗體的文本框部分保持子窗體在數據表中打開的方式視圖。
啊,'.Parent'這就是我一直在尋找的,謝謝。此外,數據表起作用,因爲我需要該子窗體加載數據表視圖,因爲這就是客戶需要這種形式,我不能把一個文本框放入子窗體,如果沒有它搞亂數據表視圖或文本框不完全像我一樣渲染需要它。 –
你讓我困惑。數據表視圖意味着子窗體中有多個記錄。什麼用於同步主表單文本框與子表單中的整個列?請說明你實際想要達到的目標。 @MarkKramer – Andre
在數據表視圖中,您只能看到字符串的第一行,但客戶端希望在選擇該記錄時該字段中的所有行都可見,這意味着我需要將文本框鏈接到字段和客戶端希望文本框是可編輯的,這就是爲什麼我不能將該字段設置爲文本框的數據源。 –