2013-01-06 68 views
1

我有一個窗體,其中有一個按鈕,用於更新表格中的數據,窗體完美地工作。但是,當我將它作爲子表單添加到選項卡分頁表單中時,它不再有效。 Access會提示要求輸入[Forms]![MyForm]![textbox]變量,雖然它存在並被填寫。我猜測有一種不同的方式來引用子表單。微軟Access:子窗體不工作,但主窗體確實

回答

3

指的是形式的名稱,窗體控制,表單屬性和對照(參考MVPsMS)的名稱的名稱。你有MS Access 2010中,這樣你就可以使用查詢設計窗口和智能建設相關的字符串,將工作放像:

[forms]![Gestiune]![SubformControlNameHere].Form![idInchirieri] 
+0

非常感謝!你不僅總是提供正確的答案,而且你也解釋得很好! – FloIancu

0

表達式[Forms]![MyForm]![textbox]可能出現在用作子窗體上ComboBox或ListBox的RowSource的查詢中。此子窗體現在不再Forms!MyForm

Forms!MainForm!MySubformControl.Form 

我不知道正確的名稱,相應地調整他們。

更改像

Forms!MainForm!MySubformControl.Form!textbox 
  • Forms表達的東西是打開的窗體集合。 (不變)
  • MainForm是帶有選項卡控件的表單的名稱。 (adapt)
  • MySubformControl是包含子窗體的控件的名稱。 (adapt)
  • .Form指定子表單本身。 (不變)
  • 最後textbox是你的TextBox。 (應該確定,否則適應)
+0

我發現類似的網上的東西,並沒有爲我工作。我的確切語法是:'[Forms]![Gestiune]![TabCtl0]![ClientiSub]。[Form]![idMod]' 直到TabCtl0,intellisense會自動完成它,但不會在此之後。 'ClientiSub'是子表單名稱,我也嘗試過'Clienti'(標籤名稱),它仍然不起作用。 – FloIancu

+2

引用控件時從不需要引用選項卡控件。無論是否有選項卡控件,控件名稱在整個表單中都必須是唯一的。請參閱http://access.mvps.org/access/forms/frm0031.htm,它非常全面。 – Fionnuala

+0

'TabCtl0'之後,您必須放置控件的名稱來保存子窗體。它可能有另一個名稱作爲被用作子窗體的窗體。子窗體不是直接放置在窗體上,而是嵌入到子窗體控件中。 –