2012-12-31 97 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!我懂了。谢谢你的清晰! –