vb程序的未响应怎么解决

vb程序的未响应如何解决?
我用vb编写的程序在移动窗口或者做别的软件工作的时候,经常发生“未响应”然后等待一会就可以正常工作了,请问这是怎么回事啊?如何解决该问题?

我的代码是,打开一个1000万数据量的表,
do until rs.eof
  '工作内容
  DoEvents
  rs.movenext
loop

现在我的机器在开这个vb.exe程序的时候,别的工作都干不了,请问如何解决啊?
我的机器是WindowsServer2008R2,64位,酷睿i7,8G内存

------解决方案--------------------
什么都不做,从1数到1000万都要好久,短时间没有反应正常
------解决方案--------------------
探讨
慢是正常,但是未响应正常吗?移动窗口之类的就卡住了,我希望是它内部处理慢点无所谓,在外面能正常用。

------解决方案--------------------
想不是什么样的需求,要在VB中遍历1000万的数据表,而不在数据库里处理
------解决方案--------------------
尝试将这个过程放入一个ActiveX EXE中的类里面执行,这样就可以在主程序里等待执行完毕的通知.

ActiveX EXE中可设置工程属性为"每对象对应一个线程",就能让其中经由CreateObject创建的对象工作于另一线程,这个非常适合于干这种事....

ActiveX EXE的多线程参考:

http://blog.m5home.com/default.asp?id=54