2012-12-31 101 views
0

我有一個帶子的輸入表單。我有三個組合框一起工作。組合1設置了vba和一個事件組合2,並分成三個。他們獨立於主要形式很好地工作,但是當我作爲一個子集起訴表格時,級聯停止工作。ms-access 2003組合框的人口

形式

Main Form Name "1A-Event Entry" 
SubForm Name "1B-Event sub" 

組合框1(更新之後)

Private Sub Category_AfterUpdate() 
Me.Type = Null 
Me.Type.Requery 
Me.Type = Me.Type.ItemData(0) 
End Sub 

組合框2(SQL)

SELECT Type.ID, Type.Type, Type.Category 
FROM Type 
WHERE (((Type.Category)=[Forms]![1B-Event sub]![Category])) 
ORDER BY Type.Type; 

CombBox2(更新之後)

Private Sub Type_AfterUpdate() 
Me.Detail1 = Null 
Me.Detail1.Requery 
Me.Detail1 = Me.Detail1.ItemData(0) 
End Sub 

ComboBox3(SQL)

SELECT Detail.ID, Detail.Detail, Detail.Type 
FROM Detail 
WHERE (((Detail.Type)=[Forms]![1B-Event sub]![Type])) 
ORDER BY Detail.Detail; 

我肯定的是有事情做與SQL中的窗體/子窗體的腳本,但我想不起來了。

+0

是[1B-Event sub]主表單或子表單的名稱? – Fionnuala

+0

Remou,對不起,這將有助於...我修改了OP。 –

回答

1

作爲子窗體,你需要一個不同的參考:

WHERE Type.Category=[Forms]![1A-Event Entry]![Subform Control Name Here].Form![Category] 

當窗體運行爲另一種形式的子窗體,您必須引用子窗體控件。

+0

因此,Remou,主要外賣將是任何組合參考表單名稱需要是主要形式而不是子形式? –

+1

我不太明白。如果你引用主窗體,你可以簡單地說'Forms!Formname.Control',如果你引用一個子窗體,你必須使用額外的屬性,所以:'Forms!Formname.Control ^^。Form.Control'其中'控制^^'是一個子窗體控件。 – Fionnuala

+0

AAhhhh!我懂了。謝謝你的清晰! –