0

我在查询中使用Microsoft Access 文本驱动程序来连接位于不同路径的2 个 CSV 文件SELECT

在csv 的源路径的一个名为“ TEST FOLDER ”的子文件夹中有一个空格。如果我将其重命名为“ TESTFOLDER ”并在代码中更新我的 csv 路径,则查询运行正常。但是如果我保留那个空间,它会导致

FROM 子句中的 Microsoft Access 文本驱动程序语法错误

顺便说一下,这些可能是不同的网络文件夹。

Option Explicit

Sub Test()

Dim oCon As New ADODB.Connection, oRs As New ADODB.Recordset
Dim strSql$, strCon$, strF1$, strF2$

strF1 = "C:\Users\ADAM\Documents\TEST FOLDER\Names.csv"
strF2 = "C:\Users\ADAM\Downloads\Address.csv"

strCon = "Driver=Microsoft Access Text Driver (*.txt, *.csv);Dbq=" & ThisWorkbook.Path & ";Extensions=asc,csv,tab,txt;"

strSql = "Select n.*, a.[Address] " & _
            "From " & strF1 & " n " & _
            "INNER JOIN " & strF2 & " a " & _
            "ON n.Name = a.Name "

    oCon.Open strCon
    Set oRs = oCon.Execute(strSql)

'    Sheet1.UsedRange.EntireRow.Delete
'    Sheet1.Cells(1).CopyFromRecordset oRs

    On Error Resume Next
    Sheet1.ListObjects(1).Delete
    On Error GoTo 0

    Dim oQT As QueryTable
    Set oQT = Sheet1.ListObjects.Add(xlSrcQuery, oRs, Destination:=Sheet1.Cells(1, 1)).QueryTable
    With oQT
        .Refresh
    End With
End Sub

我尝试将 csv 路径括在 [方括号]、“单引号”、“双引号”back-ticks等中,但我仍然在 FROM 子句中收到语法错误。

我将不胜感激解决此问题的一些帮助。

4

0 回答 0