VBA-ADO“..不是有效路径...”运行-尝试连接到 CSV 文件时出现错误 '-2147467259
VBA-ADO "..is not a valid path..." Run-time error '-2147467259 when trying to connect to a CSV file
我想使用 SQL 查询另存为 Excel 文件的 CSV 文件。我什至无法连接或“打开”该文件。它抛出 运行 时间错误 '-2147467259“P:\myDocs\FileName.csv 不是有效路径”错误。
我的连接字符串
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Firstname.Lastname\Downloads\temp.csv;Extended Properties="text;HDR=YES;FMT=Delimited;" =13=]
Sub test()
Dim myConn As New ADODB.Connection
Dim recSet As New ADODB.Recordset
Dim myPath As String
Dim connStrng As String
Dim qryStrng As String
Dim ReiterName As String
mypath = "P:\myDocs\FileName.csv"
'Connection string
connStrng = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myPath _
& ";Extended Properties=""text;HDR=YES;FMT=Delimited;"""
myConn.Open connStrng <--Error
我想操作几乎肯定回答了他们自己的问题,但我想我会 post 在这里回答,以防有人遇到这个 post 寻找答案。
万一下面的信用 link 消失了,我通过不在路径中包含文件本身的名称解决了这个问题,即操作的路径应该读作 P:\myDocs\
(文件名到稍后在 .Open
方法中使用的 SQL
语句字符串中使用。
不幸的是,似乎 ACE.OLEDB.12.0
提供程序对文本文件路径的工作方式与对访问文件路径的工作方式不同,[=28] =] 包括访问数据库文件名。我想基本原理是路径可以包含多个文件(用于 .Open
),就像访问数据库可以包含多个表(用于 .Open
- 尽管显然 .Open
是 VBA
的实现)。
总之,我找到了答案here。
我想使用 SQL 查询另存为 Excel 文件的 CSV 文件。我什至无法连接或“打开”该文件。它抛出 运行 时间错误 '-2147467259“P:\myDocs\FileName.csv 不是有效路径”错误。
我的连接字符串
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Firstname.Lastname\Downloads\temp.csv;Extended Properties="text;HDR=YES;FMT=Delimited;" =13=]
Sub test()
Dim myConn As New ADODB.Connection
Dim recSet As New ADODB.Recordset
Dim myPath As String
Dim connStrng As String
Dim qryStrng As String
Dim ReiterName As String
mypath = "P:\myDocs\FileName.csv"
'Connection string
connStrng = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myPath _
& ";Extended Properties=""text;HDR=YES;FMT=Delimited;"""
myConn.Open connStrng <--Error
我想操作几乎肯定回答了他们自己的问题,但我想我会 post 在这里回答,以防有人遇到这个 post 寻找答案。
万一下面的信用 link 消失了,我通过不在路径中包含文件本身的名称解决了这个问题,即操作的路径应该读作 P:\myDocs\
(文件名到稍后在 .Open
方法中使用的 SQL
语句字符串中使用。
不幸的是,似乎 ACE.OLEDB.12.0
提供程序对文本文件路径的工作方式与对访问文件路径的工作方式不同,[=28] =] 包括访问数据库文件名。我想基本原理是路径可以包含多个文件(用于 .Open
),就像访问数据库可以包含多个表(用于 .Open
- 尽管显然 .Open
是 VBA
的实现)。
总之,我找到了答案here。