[VB6 ] 關於資料比對

看板Visual_Basic作者 ( 九 天)時間15年前 (2009/02/19 14:48), 編輯推噓0(0010)
留言10則, 3人參與, 最新討論串1/1
小弟是初心者 因為需求最近寫了一個程式 需要做個資料比對 Text1與ListA&B text1中的資料會一直更新與固定資料的list比較 若Text的資料中出現了List裡面的資料則隱藏的圖案顯示 比如Text內含有ListA裡的資料則屬於ListA的圖會顯示 可是搞了很久還是不懂 所以來提個問題 由於text1的資料會出現很多筆舉例如下 2009/02/12 XX:XX:XX find A0123045650 D2103105031 等... 然後有建立兩個TXT檔為AID.TXT及BID.TXT 分別從FROM_LOAD內寫入讀取至ListA和ListB 內容寫為 A0230503511 A5023035410 等...(A,B檔都是只寫這樣) 那要怎麼做資料比對? 直接寫成 If Text1.Text = List1.List(ListIndex) Then Shape2.Visible = True '圖2顯示 表示含有A檔ID Else Shape2.Visible = False End If If Text1.Text = List2.List(ListIndex) Then Shape3.Visible = True '圖3顯示 表示含有B檔ID Else Shape3.Visible = False End If 好像是直接把Text1裡全部的字跟List裡的全部做比對 有辦法把Text內的ID資料做A,B List內的ID一項一項比較嗎? 經過一番閱讀 修改了程式內容為 For i = 0 To List1.ListCount - 1 List1.ListIndex = i If InStr(Text1.Text, List1.List(i)) Then Shape2.Visible = True Else Shape2.Visible = False End If Next i For j = 0 To List2.ListCount - 1 List2.ListIndex = j If InStr(Text1.Text, List2.List(j)) Then Shape3.Visible = True Else Shape3.Visible = False End If Next j 發現是有點功用了 可是... 只能比對List裡面的最後一筆 不能每一筆都比對 是不是有缺了哪些語言呢 以上 煩請各位大大不吝指教 謝謝 不好意思描述的不夠清楚 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.45.205 ※ 編輯: Juten 來自: 140.124.45.205 (02/19 15:00) ※ 編輯: Juten 來自: 140.124.45.205 (02/19 21:23)

02/19 22:06, , 1F
你講清楚一點,到底是誰要跟誰比,比了以後要怎樣
02/19 22:06, 1F

02/19 22:44, , 2F
喔~ 對不起 是讀出來後在TEXT裡的資料要跟listA和B的比
02/19 22:44, 2F
※ 編輯: Juten 來自: 140.124.45.205 (02/19 22:45) ※ 編輯: Juten 來自: 140.124.45.205 (02/19 22:51)

02/19 23:43, , 3F
用一個迴圈抓listA的記錄 裡面包另一個迴圈讀text的資料
02/19 23:43, 3F

02/19 23:43, , 4F
跟他比對 這樣用兩層迴圈是最簡單有效的方法
02/19 23:43, 4F

02/19 23:44, , 5F
還有listB 就再做一次
02/19 23:44, 5F

02/19 23:57, , 6F
這是最簡單的方法 其他啥bsearch法 hash法 datatable法
02/19 23:57, 6F

02/19 23:58, , 7F
等會走路了再學飛不遲
02/19 23:58, 7F

02/20 02:35, , 8F
樓上大大可以舉個例子嗎? 小弟加上Do Loop後會盪耶...
02/20 02:35, 8F

02/20 12:33, , 9F
是不是沒寫離開迴圈的條件 或條件不會成立...
02/20 12:33, 9F

02/20 13:41, , 10F
中間嘗試加入了 Exit For 就可以了
02/20 13:41, 10F
文章代碼(AID): #19dG2dIW (Visual_Basic)