2017-02-11 66 views
1

在Access 2016中,我有一個主窗體ClientInfoForm,它包含子窗體EditTransactions_subform。該子表單位於數據表視圖中。當用戶單擊子窗體中的記錄時,我想填充主窗體中的字段。在窗體的Click事件,我目前有:從子窗體中的記錄填充主窗體中的字段

Public Sub Form_Click 

Forms![ClientInfoForm]![Amendment] = Forms![ClientInfoForm]![EditTransactions_subform].Form![Amendment] 

End Sub 

我不知道這是否是執行我想什麼是正確的代碼。該字段的名稱是子表單和主窗體中的[修訂]。

在此先感謝您的幫助!

Howard

回答

2

這聽起來很貼切。主窗體/子窗體的正常使用是瀏覽主窗體上的記錄,並且對於每個主記錄,子窗體將顯示所有相關的子記錄。您聽起來好像您總是在子表格中顯示全部您的記錄,並且在您瀏覽這些時希望主表單中的信息發生變化。

如果這真的是你想要做的,並且假設這些是綁定表單,那麼你需要確保主表單和子表單之間沒有關聯(在子表單屬性上清除條目從Link Child FieldsLink Master Fields)。在子表格的On Current事件中,您可以嘗試類似下面的內容(儘管它完全未經測試):

Dim rst As Recordset 

Set rst = Me.Parent.RecordsetClone 
rst.FindFirst "Amendment = '" & [Amendment] & "'" 'assumes [Amendment] is String, otherwise lose the surrounding quotes 
Me.Parent.Bookmark = rst.Bookmark 

rst.Close 
Set rst = Nothing