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

Posted

技术标签:

【中文标题】使用多值控制源隐藏组合框中的值【英文标题】:Hide values in combobox with multi-value controlsource 【发布时间】:2017-03-15 20:51:37 【问题描述】:

我正在使用一个多值字段来为一个人分配不同的标准。这些标准分为不同的类别。我正在使用下拉列表来选择类别,选择一个会触发一些 VBA,该 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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于使用多值控制源隐藏组合框中的值的主要内容,如果未能解决你的问题,请参考以下文章

从访问 vba 中的多值组合框中获取值

访问 VBA - 使用组合框(多值字段)时类型不匹配

通过 vba ms 访问将多值列的数据绑定到组合框中

报告的多个记录源

如何更新 ms access vba 中的多值组合框?

尝试在 mousepress 事件中使用来自另一个组合框的值加载自定义组合框