2015-07-10 60 views
0

我試圖使用ADO記錄集 我沒有得到任何結果回來嘗試.. 時,當我在原始文件的內容複製到一個新的文本文件csv.txt文件的讀取,並從閱讀該文件,它工作得很好。文本文件處理不同

任何想法可能是什麼原因?

第二個文件的大小較小,大約爲1/2。這是我能看到的唯一區別。這是快把我逼瘋了:-)

「編輯 更新的代碼& SCHEMA.INI

代碼:

Sub ImportTextFiles() 
    Dim objAdoDbConnection As ADODB.Connection 
    Dim objAdoDbRecordset As ADODB.Recordset 
    Dim strAdodbConnection As String 
    Dim pathSource As String 
    Dim filename As String 

    pathSource = "C:\Users\me\Desktop\Reports\" 
    filename = "test1.txt" 
    'filename = "test2.txt" 

    strAdodbConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" _ 
         & "Data Source=" & pathSource _ 
         & ";Extended Properties=""text;HDR=yes;FMT=Delimited"";" 

    Set objAdoDbConnection = CreateObject("Adodb.Connection") 
    Set objAdoDbRecordset = CreateObject("ADODB.Recordset") 
    With objAdoDbConnection 
     .Open (strAdodbConnection) 
     With objAdoDbRecordset 
      .Open "Select top 10 * FROM " & filename & " WHERE [Date] > #01/01/2000# ", objAdoDbConnection, adOpenStatic, adLockOptimistic, adCmdText 
      If Not objAdoDbRecordset.EOF Then objAdoDbRecordset.MoveFirst 
       Do While Not objAdoDbRecordset.EOF 
        Debug.Print "Field(0): " & objAdoDbRecordset(0).Value 
        objAdoDbRecordset.MoveNext 
      Loop 
      .Close 
     End With 
     .Close 
    End With 

    Set objAdoDbRecordset = Nothing 
    Set objAdoDbConnection = Nothing 
End Sub 

Schema.ini: 
[Test1.txt] 
col1=date text 
col2=interval integer 
col3=application text 
[Test2.txt] 
col1=date text 
col2=interval integer 
col3=application text 
+0

沒有看到代碼,很難說。查看每個文件的權限。也命名。拼寫是否正確呢?包括案件?這兩個文件之間還有其他區別嗎? – ale10ander

+1

也可能是字符編碼的問題。 – CBroe

+0

如何找出文件@Croroe的實際編碼? – user3873139

回答

0

notepadd ++給我的回答,文件1是UCS-2編碼,新創建utf-8