首页 > 解决方案 > 从 Access 列表框列中获取非重复值

问题描述

在 Access 2016 中,我有一个带有单列的多选列表框:-

Item 1
Item 1
Item 2
item 3
Item 3

在 VBA 中,有没有一种方法可以从选定的行中删除重复项并在消息框中显示剩余的值。因此,将从上面的数据中显示以下值(假设选择了所有行):-

Item 1
Item 2
item 3

标签: ms-accessvba

解决方案


在添加新项目之前使用字典并检查重复项

Dim dict As Object: Set dict = CreateObject("Scripting.Dictionary")
For lngRow = 0 To ListBox.ListCount - 1
    If .Selected(lngRow) Then
        If Not dict.exists(ListBox.Column(0, lngRow)) Then
            x.Add ListBox.Column(0, lngRow), ""
        End If
Next

For Each x In dict.keys
    Str = Str & x & vbNewLine
Next
MsgBox Str

推荐阅读