【发布时间】:2014-07-11 14:21:06
【问题描述】:
我正在尝试打开一个 CSV 文件并对其进行查询,并将结果返回到“ThisWorkbook”的第二个工作表的 A 列。 我没有收到任何错误,所以我不明白为什么它没有将记录集复制到 excel 中。
Dim con As ADODB.Connection
Dim rs As ADODB.Recordset
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim currentDataFilePath As String
Dim currentDataFileName As String
Dim nextRow As Integer
currentDataFilePath = "C:\Users\M\folder\"
currentDataFileName = "csv-file"
con.Open "Provider=Microsoft.JET.OLEDB.4.0;" & _
"Data Source=" & currentDataFilePath & ";" & _
"Extended Properties=""text;HDR=NO;FMT=Delimited;IMEX=1"""
'rs.ActiveConnection = con
rs.Open "SELECT Name FROM [" & currentDataFileName & ".csv] WHERE Datatype ='TYPE3'",
con
ThisWorkbook.Worksheets("Sheet2").Range("A:A").CopyFromRecordset rs
rs.Close
con.Close
Set rs = Nothing
Set con = Nothing
End Sub
【问题讨论】:
-
检查
rs.EOF以确保您确实返回了任何记录。 -
它工作正常 - 我刚刚输入错误我的查询:(