访问VBA:比较两个列表框

时间:2017-01-23 16:24:21

标签: vba listbox compare access

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

例如: 列表框1值:“项目1”,“项目3” 列表框2值:“项目1”,“项目2”,项目3“

现在我想要一个比较这两个列表框并从列表框2中删除“第2项”的函数,因为它没有在列表框1中列出。

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

      <div class="gb-box-holder">
        <!-- GUIDE BOX -->
        <div class="gb-box gb-box-1">
          <div class="gb-header">
            <span class="gb-decor-top"></span>
            <div class="gb-logo">
              <img class="gb-img" src="http://www.scim.si/wp-content/uploads/2015/01/apply.jpg" alt="">
              <div class="gb-logo-cover"></div>
            </div>
            <h3>Lorem ipsum dolor</h3>
            <!-- <span class="gb-decor-top"></span> -->
          </div>
          <div class="gb-container">
            <span class="gb-decor-container"></span>
            <p>
              Lorem 
            </p>
            <a class="gb-btn-guide" href="#"> Reed more</a>
          </div>
        </div>
        <!-- GUIDE BOX -->
      </div>

2 个答案:

答案 0 :(得分:1)

考虑一下:

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

我认为这会达到你想要的效果。

答案 1 :(得分:0)

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

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