类似于:Convert Variant Array to String - 但那里接受的答案对我来说不起作用。
我的代码:
SQLStr = "SELECT lineID FROM alldata where asdf = '" & asdf & "'"
Set rs = New ADODB.Recordset
rs.Open SQLStr, conn, adOpenStatic
Dim arr
Dim arrString
rs.MoveFirst
arr = rs.GetRows
arrString = Join(arr, ", ")
语句 arr = rs.GetRows
执行后,它在我的控制台中具有以下值:
我试图将这两个值连接起来,用逗号空格
分隔成一个字符串,所以最终结果是:
arrString = "25616, 99607"
但是,当我运行 Join
行时,我收到了一个 Invalid procedure call or argument
错误。我做错了什么?
最佳答案
虽然我确信有更优雅的方法来完成您的任务,但我确实编写了一些看起来运行成功的代码。
Option Explicit
Private Sub TestArray()
Dim arr(0, 1) As Variant 'Mimic the structure of your array
Dim arrString As String
Dim sDelimiter As String
Dim j As Long
'Mimic the structure of your array
arr(0, 0) = "25616"
arr(0, 1) = "99607"
sDelimiter = ", " 'Set your delimiter
'Loop through the inner array
For j = 0 To UBound(arr, 2)
'Concatenate the elements
arrString = arrString & sDelimiter & arr(0, j)
Next j
'Remove the leading delimiter / cleanup
arrString = Replace(arrString, sDelimiter, "", 1, 1, vbTextCompare)
MsgBox arrString
End Sub
有趣的代码是从sDelimiter = ", "
往下的。
我不知道如何将数组Transpose
转换为一维数组(从二维数组的数组),所以我决定遍历内部数组并连接值。
串联会在列表的前面产生一个额外的定界符,因此有一行将那个定界符替换为空。
关于arrays - 将二维变体数组的一维提取到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32278265/