把代码贴上!
尽量不要用变体型变量
For循环不要用如下形式
For i = LBound(Arr) To UBound(Arr)
  '...
Next i
改成
intUBound = UBound(Arr)
For i = LBound(Arr) To intUBound
  '...
Next i
从数据库取数据时
rst.MoveFirst
Do Until rst.EOF
  '...
  rst.MoveNext
Loop 'Until rst.EOF
'==================
rst.MoveLast
intRecCount = rst.RecordCount
rst.MoveFirst
For i = 1 To intRecCount
  '...
Next i
'==================
下面的代码笔上面的代码效率高
'==================
另,如rst的连接非ACCESS或MS SQL(比如Oracle)
游标类型要使用adUseClient,要不然读取RecordCount的时候会有麻烦的