2016-07-02 14 views
1

我有一個包含子窗體的未綁定窗體。 當用戶單擊主窗體上的按鈕時,子窗體解除綁定並被填充。MS-Access 2007 - 如何以編程方式訪問單擊事件的子表單列數據

我希望能夠從語法上處理即使在子表單上的點擊並獲取特定列中的數據。我怎樣才能做到這一點?如果你知道我的意思,那麼你會用VB.NET/C#.NET做同樣的事情。

當我使用子窗體的屬性選項卡時,我得到一個表達式構建器。這不會讓我進入子/功能/表單或模塊VBA代碼編輯器。

任何幫助表示讚賞。

編輯 - 有用的東西! 感謝您從我下面的答案中獲得的幫助。 一個指列中的選定行中的子窗體的方法是使用以下表達式:是

ME!Sales.Form!SalesmanID 

Additional Reference here...

問題這種方法:

Me!ChildFormName.Form!ColumnNameInSubForm 

EX 「輸入」和「退出」中的可用事件不像「點擊」事件那樣行爲。一個需要關注子窗體(通過點擊另一個控件)來觸發!

回答

1

再看一遍。 「屬性」表中有一個標籤,即事件。選擇任何事件並從下拉列表中選擇「事件過程」​​,然後單擊省略號 - 打開代碼編輯器。

+0

謝謝你的幫助。是的,有文字[事件程序]。當我在那裏鍵入任何名稱並轉到代碼時,我沒有在代碼中創建事件處理程序。你有什麼建議我這樣做,我可以得到在代碼中創建的事件處理程序? (如C#/ VB)?謝謝。 – NoChance

+1

您不輸入任何文字。您單擊省略號併到達輸入的事件處理程序whery。子功能的名稱跟隨控件的名稱。 – Gustav

+0

是的,你是對的。我得到了處理程序創建:) - 我如何訪問選定的行數據?不好意思問你這麼多問題! – NoChance

1

參見子表單控件形式主要形式的事件處理程序(VBA副):

Me!Subform1.Form!ControlName 

Me是自參照主要形式,Subform1是包含子形式的控制,Form是對子表格的引用,以及ControlName是對子表格上的字段的引用。 !是引用表單的contrls集合中的控件的簡短方式。
寫上述較長的方法是:Me.contrls("Subform1").Form.Contrls("ControlName")

參考一個主窗體控制形成子形式的事件處理程序(VBA副):

Me.Parent!ControlName 

Me是自參考子-form,Parent是對主窗體的引用,而ControlName是對主窗體上的字段的引用。
編寫以上將是一個較長的方式:Me.Parent.Contrls("ControlName")

請查看更多關於這個專題this link

+0

感謝您的幫助。我需要能夠訪問子窗體中選定的行列。當我嘗試我!SubformName.RecordSource我得到「對象不支持屬性」!另外,使用ME!SubformName.Value不起作用,因爲Value不是屬性。 – NoChance

+0

試試'ME!SubformName.Form.RecordSource'。 'ME!SubformName'是主窗體上的一個控件,'ME!SubformName.Form'是對實際子窗體的引用。 – marlan

+1

太棒了!這不是其他方式,它就是這樣:'Me!Subform1.Form!ControlName'。 'Subform1'就是你所說的'ChildFormName','ControlName'就是你所說的'ColumnNameInSubForm';) – marlan

相關問題