Re: [算表] 在有上千筆資料比對~~要如何寫才能提高 …(VBA)
因為沒有 SQL 所以你試看看可不可行囉
Dim A As Variant
Dim row as Integer
Dim start_row as Integer
row_no = Sheet1.Range("a1").End(xlDown).Row
start_row TextBox1.Text
A = Range(Cells(start_row, 1), Cells(row_no, 1))
For i = 1 to row_no-start_row+1
strsql = "select * from test where a like'" & .Cells(i, "A") & "'" '查詢
Set myrst = myCon.Execute(strsql)
If myrst.EOF = True Then
.Cells(i, "B") = "No Data"
j = j + 1 '計算沒有資料的筆數
End If
Next
Range(Cells(start_row, 1), Cells(row_no, 1)) = A
※ 引述《evantw (安安小成)》之銘言:
: 軟體:Excel
: 版本:2003
: 我有個 Excel 內有上千筆資料要和資料庫 .mdb 做比對
: 我是用 VBA 寫法,用程式 Row 的
: 目前是一行一行的讀取然後與資料庫做比對
: 不過因為有上千筆~~
: 所以在比對程式 Row 時, Excel 感覺都快當掉了
: 而且比對時間也蠻長的~~(可能是電腦效能原因吧)
: 我目前所需求的是
: 有上千筆資料要與資料庫中的 text 資料表欄位 A 做比對
: 如果在資料庫中沒有資料就 Show 出 No Data 的字
: 以下是我的寫法~~
: For i = TextBox1.Text To Sheet1.Range("a1").End(xlDown).Row
: strsql = "select * from test where a like'" & .Cells(i, "A") & "'" '查詢
: Set myrst = myCon.Execute(strsql)
: If myrst.EOF = True Then
: .Cells(i, "B") = "No Data"
: j = j + 1 '計算沒有資料的筆數
: End If
: Next
: 因此~~想請教各位高手們有沒有更快速的方法將上千筆資料與資料庫快速做比對呢??
: 能否給的提示做法~~謝謝 ^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.84.79
※ 編輯: windknife18 來自: 140.131.84.79 (06/28 16:11)
推
06/28 17:24, , 1F
06/28 17:24, 1F
→
06/28 17:35, , 2F
06/28 17:35, 2F
→
06/28 17:36, , 3F
06/28 17:36, 3F
Office 近期熱門文章
PTT數位生活區 即時熱門文章