访问VBA:比较两个列表框



我在Access VBA中有两个列表框。我想比较这两个列表框,并希望从第二个列表框中删除项目(如果第一个列表框中未列出相同的项目)。

例如:列表框 1 值:"项目 1"、"项目 3"列表框 2 值:"项目 1"、"项目 2"、"项目 3"

现在我想要一个函数来比较这两个列表框并从列表框 2 中删除"项目 2",因为它未在列表框 1 中列出。

我尝试了一些代码,但我唯一得到的是这个:

If BR_TeamReport.ListCount > 0 Then
    For i = 0 To BR_TeamReport.ListCount - 1
        For y = 0 To BR_Team.ListCount - 1
            If BR_TeamReport.ItemData(i) = BR_Team.ItemData(y) Then
                MsgBox ("Don't Delete")
            Else
                MsgBox ("Delete")
            End If
        Next y
    Next i
End If

考虑一下:

If BR_TeamReport.ListCount > 0 Then
    For i = 0 To BR_TeamReport.ListCount - 1
        FoundItem = False
        For y = 0 To BR_Team.ListCount - 1
            If BR_TeamReport.ItemData(i) = BR_Team.ItemData(y) Then
                FoundItem = True
            End If
        Next y
        If Not FoundItem Then
            ' Delete item as it was not found in the first listbox
            BR_Team.RemoveItem (y)
        End If
    Next i
End If

我认为这将实现您想要的。

为什么不清除第二个列表框,然后用第一个列表框重新填充?

For i = 0 To LstBox2.ListCount - 1
   LstBox2.RemoveItem(i)
next i 
For i = 0 TO LstBox1.ListCount - 1
   lstBox2.AddItem LstBox1.ItemData(i)
Next i

相关内容

  • 没有找到相关文章