在VBA上,我想进行一个SQL查询以从文件中提取数据,但是文件的结构如下:
Header 1
Header 2
field 1 field 2 field 3 field 4 field 5
xxx xxx xxx xxx xxx xxx
xxx xxx xxx xxx xxx xxx
xxx xxx xxx xxx xxx xxx
在开始查询之前,我必须跳过前2行。我在打开SQL连接时尝试了“ SkipRows = 2”,但没有用。
答案 0 :(得分:0)
我使用了documentation
中所述的schema.ini文件使用以下示例代码,我能够读取数据。您需要对ActiveX数据对象的引用。
Option Explicit
Sub ADO()
Dim rs As New ADODB.Recordset
Dim conn As New ADODB.Connection
Dim myPath As String
myPath = ThisWorkbook.Path
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & myPath & ";Extended Properties=""text;HDR=No;FMT=Delimited()"";"
With rs
.ActiveConnection = conn
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open "SELECT * FROM [text_file.txt]"
End With
' Skip the firt rows
Dim i As Long
For i = 1 To 3
rs.MoveNext
Next
' Example - Print just field 1
Do Until rs.EOF
Debug.Print rs.Fields(1).Value
rs.MoveNext
Loop
conn.Close
End Sub
另一种解决方案可能是使用Get & Transform。