将列添加到Select * ADODB csv连接

时间:2015-05-19 09:09:44

标签: excel vba csv multiple-columns adodb

我有以下代码,旨在将多个csv文件转换为VBA中的单个数组。除了一部分,代码完美无缺。

这很好用:

strSQL = vbNullString
For i = 2012 To 2014
    If strSQL <> vbNullString Then strSQL = strSQL & " UNION ALL "
    strSQL = strSQL & "SELECT *, " & i & " as Jahr FROM Data_" & i & ".txt"
Next i
strSQL = strSQL & ";"
Debug.Print strSQL
Set RS = cn.Execute(strSQL)
rsArr = Application.WorksheetFunction.Transpose(RS.GetRows)
RS.Close

现在这是制造麻烦的部分:

strSQL = strSQL & "SELECT *, " & i & " as Jahr FROM Data_" & i & ".txt"

确切地说,麻烦只在那一行:

Select *

我想在col1添加一列,因为我在.csv文件中没有标题。解决方案可以是双重的,或者: - 列名是什么?我试过Column 1Select *,但无济于事。 - 如何在ReDim dataArr(1 To (UBound(rsArr)) / 2, 1 To 3) For j = LBound(rsArr) To UBound(rsArr) Step 2 yearArr = Split(rsArr(j + 1, 1), vbTab) dataArr(1 + Int(j / 2), 1) = Left(rsArr(j, 1), 5) * 1 dataArr(1 + Int(j / 2), 2) = yearArr(14) dataArr(1 + Int(j / 2), 3) = i Next j Set cn = Nothing End Sub

中添加列

再次正常工作:

(?=^([^\r\n]{0,10}(\r?\n|$)))[\s\S]{1,30}

0 个答案:

没有答案