2013-01-08 54 views
3

我正在開發一個程序來跟蹤客戶機信息,該信息利用導航窗體作爲始終打開的主菜單。許多子窗體都有列表框,因爲輸入/更改數據時需要重新設置列表框,或者用戶傾向於認爲他們沒有更改記錄集,並且最終得到重複的數據。我無法弄清楚如何在運行刷新之前檢查導航窗體的特定子窗體是否已打開......它們全部被引用爲「NavigationSubform」。因此,例如,如果我爲客戶添加新的職位,我想在'onclose'事件中運行此列表框的重新查詢以確保他們具有最新的信息。我可以做到這一點...... Forms!navMain!NavigationSubform.Form.lstEmployment.Requery ...但它炸彈如果用戶在關閉窗體之前更改導航窗體上的窗格。發生這種情況的原因很多:例如,當您輸入工作安置信息時,客戶端中斷,您在返回之前停止並輸入諮詢通知,將主菜單保留在「臨牀」目錄中。有沒有辦法來檢查導航子窗體對象中是否加載了特定的子窗體?我附上了一個屏幕截圖,以幫助理解這一點。檢查Access 2010導航子窗體是否打開

在此先感謝您的任何建議!

Employment Screen

回答

0

你可以使用源對象屬性檢查子窗體控件的內容,例如:

forms!mainform.asubformcontrol.sourceobject 

您也可以從表單對象獲取表單的名稱:

forms!mainform.asubformcontrol.form.name 
+0

這是票!我剛剛使用Forms!navMain!MainMenu.SourceObject檢查了sourceobject! –

1

它已經有一段時間,但我相信你可以使用isLoaded方法來確定一個子窗體被加載

http://msdn.microsoft.com/en-us/library/office/ff194656.aspx

希望這有助於 布倫特

+0

謝謝,布倫特!導航窗體似乎是一個奇怪的對象...我不知道如何引用特定的子窗體。如果我使用這種語言'Forms!navMain!NavigationSubform.Form',那麼它總是會顯示加載的。我需要知道顯示哪個菜單,但不僅僅是導航窗體已打開。希望是有道理的! –

+0

不幸的是,這不適用於子表單AFAICT。 – Fionnuala

相關問題