[Visual Basic 6.0] 資料處理 將重複的資料過濾成一筆

摘要:[Visual Basic 6.0] 資料處理 將重複的資料過濾成一筆

[Visual Basic 6.0] 資料處理 將重複的資料過濾成一筆

 

在商業用途上,通常會因為資料龐大或是遷移資料時不小心將重複的資料放在相同的資料庫中。

我們可以簡單利用 Visual Baisc 6.0 寫一個資料過濾的程式,如此一來就可以輕輕鬆鬆過濾掉重複的資料。

 

首先過濾之前的檔案:

過濾後的檔案:

 

那麼我們該怎麼實作呢?

以下是 VB6 寫的程式碼,基本上作法與結構都已經使用註解註解起來了!

 

'# [Visual Basic 6.0] 資料處理 將重複的資料過濾成一筆
'# 0xDe

Private Sub Form_Activate()

' 首先要先把檔案讀近來放入陣列中,為了防止陣列不足,我們先跑第一次看看資料有多少
Open App.Path & "/InputData.txt" For Input As #1

Do While Not EOF(1)
    Input #1, A
    B = B + 1 ' 用來計算
Loop
    Close
' 當確定資料筆數後我們開陣列
ReDim TempData(1 To B) ' TempData 拿來存放資料陣列中

Open App.Path & "/InputData.txt" For Input As #1 ' 讀入需要過濾的資料
Open App.Path & "/OutData.txt" For Output As #2 ' 拿來輸出沒有重複資料(已經過濾過)的結果

    C = 1 ' Data 從第 1 個開始放
Do While Not EOF(1)
    Line Input #1, A

    Key = True ' 先設定一個開關 一開始為打開的狀態
    For I = 1 To C ' 判斷有沒有重複
        If A = TempData(I) Then Key = False ' 當資料中已經有重複的資料則 開關設為關閉
    Next I
    
    If Key Then ' 當沒有重複的資料時
        TempData(C) = A ' 放入新的資料
        C = C + 1
    End If
Loop

    Out = ""
For I = 1 To C - 1  ' 將所有的資料拿出來並且放入 OutDaya.txt 中
    Out = Out & TempData(I) & vbCrLf
Next I
    Print #2, Out
    Close
    End
End Sub

 

[Visual Basic 6.0] 資料處理 將重複的資料過濾成一筆.rar

#0xDe 從分享中學習

#Facebook:ProgrammerDe (https://www.facebook.com/MicrosoftDes) 有問題歡迎提問