MS-Access 2013;根据多记录格式的记录数据更改组合框选项

时间:2016-02-11 20:44:20

标签: ms-access

我有一个包含多个记录的表单,每行一个,从表中提取。我每行有2个ComboBox控件。第一个ComboBox的选项链接到类别表。第二个ComboBox的选项需要链接到第一个ComboBox的子类别。

我在设计时尝试在行源中使用WHERE语句,这会产生所有子类别。

我已尝试在类别ComboBox的更改事件上使用WHERE语句和requery命令,该类别生成最后更改的类别的子类别。这是一个问题,因为所有行都有相同的选项,而不是基于该记录/行的类别的选项。

我需要的是每行查询子类别/类别映射表并根据该行的类别选择过滤结果。这可能吗?如果是这样,怎么办呢?我并不害怕使用VBA来获得我需要的结果。

1 个答案:

答案 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

我没有两个组合框,只有一个,但其内容必须基于另一个字段中的值。我就是这样做的。