使用多值控件源隐藏组合框中的值

Hide values in combobox with multi-value controlsource

我正在使用多值字段为一个人分配不同的标准。这些标准分为不同的类别。我正在使用下拉列表来选择类别,选择一个会触发一些 VBA 更改显示条件的组合框。问题在于多值字段中其他类别的标准在组合框中显示为 ID 号,因为控制源固定在多值字段上。我怎样才能隐藏这些不需要的 ID,或者我的方法不可能做到这一点?

Table AdmitCriteria:
   ID  |  fkCatID  |  Label
    1  |     1     |   xxx
    2  |     1     |   xxx
    3  |     1     |   xxx
    4  |     2     |   xxx
    5  |     3     |   xxx
    6  |     3     |   xxx

Table Patients:
   AdmitCrit (multi-value field)

Form:
   critCategoriesDropdown: rowsource = ID, Label FROM AdmitCriteria
   cboCriteria: controlsource = AdmitCrit
                rowsource: VBA

-

Private Sub critCategoriesDropdown_AfterUpdate()
    Dim strSource As String
    Dim ctrlSource As String

    strSource = "SELECT Id, Label FROM AdmitCriteria WHERE fkCatID = " & Me.critCategoriesDropdown.Column(0) & ";"
    Me.cboCriteria.RowSource = strSource
End Sub

摆弄设置,找到选项ShowOnlyRowSourceValues。这解决了问题。