Access VBA 中字符串的列表框值(以逗号分隔)

Listbox values to String in Access VBA (Separated with Comma)

如何将 ListBox 的所有值存储在一个字符串中并在 Access 中用逗号分隔 VBA

例如:

列表框

1
2
3
4
5

字符串

1,2,3,4,5

你可以这样构建字符串

在Excel中:

Private Sub ShowItems()
  Dim sList As String
  Dim nIndex As Integer

  For nIndex = 0 To ListBox1.ListCount - 1
    sList = sList & ListBox1.List(nIndex) & ","
  Next
  sList = Left$(sList, Len(sList) - 1)

  MsgBox sList
End Sub

访问中:

Private Sub ShowItems()
  Dim sList As String
  Dim nIndex As Integer

  For nIndex = 0 To ListBox1.ListCount - 1
    sList = sList & ListBox1.ItemData(nIndex) & ","
  Next
  sList = Left$(sList, Len(sList) - 1)

  MsgBox sList
End Sub

您可以构造一个列表框项目数组,然后使用 join 函数使用任意分隔符将数组转换为字符串,例如:

ReDim strArr(0 To Listbox1.ListCount - 1) As String
Dim strRtn As String
Dim i As Integer

For i = 0 To UBound(strArr)
    strArr(i) = Listbox1.ItemData(i)
Next i
strRtn = Join(strArr, ",")

或者,对于选定的项目,您可以使用:

Dim strRtn As String
Dim n As Integer
n = Listbox1.ItemsSelected.Count - 1

If n >= 0 Then
    ReDim strArr(0 To n) As String
    Dim i As Integer

    For i = 0 To n
        strArr(i) = Listbox1.ItemData(Listbox1.ItemsSelected(i))
    Next i
    strRtn = Join(strArr, ",")
End If

在上述所有内容中,将 Listbox1 更改为您的列表框表单控件的名称。