返回列表框中的选定值

时间:2018-06-26 11:32:16

标签: vba ms-access listbox

我在Access中有一个单列表Table1,单元格值为11-20。

我在表单上创建了一个列表框,以多选该表的单元格值。

Listbox List38

我需要那些选定的值来过滤另一个表中的列。我尝试按以下方式检索选定的值,但没有帮助,尤其是ItemData(oItem + 1)仅返回Null。

    Dim oItem As Variant
    Dim sTemp As String
    Dim iCount As Integer

    iCount = 0

    Debug.Print Forms.frmPassQuer2.List38.ItemsSelected.Count

    If Forms.frmPassQuer2.List38.ItemsSelected.Count <> 0 Then

        For Each oItem In Forms.frmPassQuer2.List38.ItemsSelected

            Debug.Print oItem

            If iCount = 0 Then
                sTemp = sTemp & Forms.frmPassQuer2.List38.ItemData(oItem + 1)
                iCount = iCount + 1
            Else
                sTemp = sTemp & "," & Forms.frmPassQuer2.List38.ItemData(oItem + 1)
                iCount = iCount + 1
            End If

            Debug.Print Forms.frmPassQuer2.List38.ItemData(oItem + 1)

        Next oItem

    Else
        MsgBox "Nothing was selected from the list", vbInformation
        Exit Sub  'Nothing was selected

    End If

End Sub

1 个答案:

答案 0 :(得分:0)

此链接有帮助。 https://msdn.microsoft.com/en-us/vba/access-vba/articles/listbox-itemsselected-property-access

此处的密钥为delete。列表框中通常有不止一列。 idcontent定位哪一列和哪一行的单元格。