2013-01-10 33 views
0

我有一個.csv文件,有100行和8列。每行看起來像下面的東西VB6 CSV搜索visualbasic

0,0,0,0,0,0,0,5 

0,1,0,0,1,0,0,6 

我需要評估每個字段。如果字段= 1(在第1行和第7行之間),則必須將該行的第8列值寫入文本框,如果該字段= 0,則不會爲該行寫入任何內容。

我很困惑如何評估每個領域。

+0

我建議使用2維數組「Dim aryFileData(100,8)As Integer」,然後將數據讀入它。如果你問如何去做,你需要先努力。你有什麼,或者你有什麼困難? – jac

回答

0

這是一種應該有效的方法。僞代碼肥胖型...

dim vData() as variant 
dim nHandle as integer 
dim sTextLine as string 
nHandle = FreeFile 
open "c:\filename.csv" for input as nHandle 

Do While Not EOF(nHandle) 
    Line Input #nHandle, sTextLine '// Read line into variable. 

    ' break up the line into multiple pieces 
    vData = split(sTextLine, ",") 

    ' your criteria here 
    if vData(0) = 0 then ... 
    if vData(1) = ... 

Loop 
Close #nHandle 
2

我使用ADO和Jet-Driver。導入的結果非常簡單,就是您可以輕鬆瀏覽的ADO.Recordset。

Dim cnCSV As ADODB.Connection 
Set cnCSV = New ADODB.Connection 
cnCSV.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Chr(34) & lFilePath & Chr(34) & ";Extended Properties=" & Chr(34) & "text;HDR=Yes;FMT=Delimited" & Chr(34) & ";" 
cnCSV.Open 

Dim p_ImportRst As ADODB.Recordset 
Set p_ImportRst = New ADODB.Recordset 
lstrSQL = "SELECT * FROM [" & lFileName & "]" 
Set p_ImportRst = cnCSV.Execute(lstrSQL)