2012-10-10 152 views
2

我在數據表格中有一個子窗體。從主窗體驅動子窗體窗體中的MS Access查詢

我希望根據mainform上的組合框過濾此子表單。 子窗體的數據來自查詢。我已經設置此查詢的領域之一的標準等於:

[Forms]![Form_Data_Update]![cbo_ReportSelection] 

的MainForm的是Form_Data_Update和組合框是cbo_ReportSelection。

使子窗體刷新當我改變組合框我已經把

Private Sub cbo_ReportSelection_AfterUpdate() 
    DoCmd.OpenQuery ("Aggregate_Leanboard_Discipline_Grouping") 
    End Sub 

是否有不會導致查詢開闢一個新標籤的替代方法?我希望它只是在子窗體中刷新。我想:

Me!Form_Leanboard_Discipline_Grouping_Subform.Requery 

但是,這並不工作,我得到一個錯誤「2465」微軟找不到場「Form_Leanboard_Discipline_Grouping_Subform」。我使用Access 2010中

感謝

回答

2

子窗體

包含在子窗體控件。使用子窗體控件的名稱,而不是窗體的名稱。他們可能有不同的名字。

Private Sub cbo_ReportSelection_AfterUpdate() 
    Me!SubformControlName.Form.Requery 
End Sub 
+0

我在哪裏可以找到子窗體控件的名稱? – KillerSnail

+0

在設計視圖中打開主窗體。打開屬性表。點擊子窗體,直到屬性表中顯示「選擇類型:子窗體/子報表」...子窗體控件的名稱將顯示在下面的下拉框中。 – HansUp

1

我跟着你們,我得到的錯誤,爲我工作的編碼是

Private Sub cbo_ReportSelection_AfterUpdate() 

    Me.What ever Your SubForm Name.Requery 

End Sub 

這可能是一樣什麼上方,如果是則刪除,但是當我看了上面的評論它使它看起來像你將不得不放置「SubFormControl」在那裏。

對於那些不知道如何找到子窗體名稱的人,可以進入設計視圖並左鍵單擊子窗體,然後功能區中的屬性窗體的名稱將出現在窗體的屬性選項卡上屏幕右側。

另請注意,如果您的子表單名稱中有空格,則您必須在空格處放置「_」。

好運傢伙我認爲自己是一個新手..所以我盡力爲其他人解釋這個十年後會閱讀我...我需要這個代碼來完成一個搜索欄我的訪問數據庫。我正在做一個班級的譜系數據庫,第一個實現是今天到期,這個代碼只是保存我的屁股從接收和B到可能和答..謝謝