作者evantw (安安小成)
看板Visual_Basic
标题[VBA ] 有上千笔资料比对~~要如何写才能提高执行效能??
时间Mon Jun 28 11:45:08 2010
我有个 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: 219.81.233.159
1F:推 Marty:把Excel的资料连结到Access作..只有几千笔应该几秒就好了.. 06/28 12:53
2F:→ evantw:请问所谓的资料连结是指"取得外部资料"吗??我连结好後呢?? 06/28 13:56
3F:→ evantw:要怎麽判断呢??? 06/28 13:56
4F:→ JacobTai:一定要用 like 做比对吗? 06/28 14:17
5F:→ evantw:也不一定要用like~~只是要判断资料库中是否有纪录而已~~ 06/28 14:26
6F:推 sueadolph:推一楼的方式 06/28 19:16
7F:→ sueadolph:原po的回圈也有点怪?目前这样子是每一笔资料,就去SQL 06/28 19:17
8F:推 sueadolph:不知转成用VB2008 使用LINQ会不会速度好点? 06/28 19:22
9F:→ fphoenix923:存取资料库应该尽量一次把所需要的资料提出。 06/28 21:00