我有一个包含多个记录的表单,每行一个,从表中提取。我每行有2个ComboBox控件。第一个ComboBox的选项链接到类别表。第二个ComboBox的选项需要链接到第一个ComboBox的子类别。
我在设计时尝试在行源中使用WHERE语句,这会产生所有子类别。
我已尝试在类别ComboBox的更改事件上使用WHERE语句和requery命令,该类别生成最后更改的类别的子类别。这是一个问题,因为所有行都有相同的选项,而不是基于该记录/行的类别的选项。
我需要的是每行查询子类别/类别映射表并根据该行的类别选择过滤结果。这可能吗?如果是这样,怎么办呢?我并不害怕使用VBA来获得我需要的结果。
答案 0 :(得分:0)
在窗体的On_Current事件中,您可以根据第一个组合框的列值动态更改第二个组合框的行源。您可能还需要在第一个组合框的after_update事件中执行此操作。
像这样的东西
Select Case Me.cboCategory
Case "Category 1"
Me.cboSubCategory.RowSource = "qryCat1Subclass"
Case "Category 2"
Me.cboSubCategory.RowSource = "qryCat2Subclass"
Case Else
Me.cboSubCategory.RowSource = ""
End Select
我没有两个组合框,只有一个,但其内容必须基于另一个字段中的值。我就是这样做的。