dim strSql as string 
do while not rs.eof
  strSql  = strSql & "...rs(0)..."
  strSql  = strSql & "...rs(1)..."
rs.movenext
loop

解决方案 »

  1.   

    dim strSql as string 
    do while not rs.eof
      strSql  = strSql & "...rs(0)..."
      strSql  = strSql & "...rs(1)..."
      doevents   '加它-------------
    rs.movenext
    loop
      

  2.   

    可以解释一下加doevents的原理吗>
      

  3.   

    DoEvents 函数
    转让控制权,以便让操作系统处理其它的事件。
    DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。
      

  4.   

    有些问题可以查看MSDN的
    里面好多东西
      

  5.   

    ^_^  说的和MSDN一样迷糊 ^_^  就知道什么时候可以用 但原理是什么还是不知道 :)
      

  6.   

    sleep?那时候线程就被锁了。
      

  7.   

    建议使用Doevents,我就用的这个,能防止Do While语句循环死
      

  8.   

    建议使用Doevents,我就用的这个,能防止Do While语句循环死
      

  9.   

    就加一行DoEvents 它可以让计算机在循环的同时做其他事
      

  10.   

    不用问为什么,DoEvents就是管这个的,很多地方都要用的,比如在长搬走循环句中必须放这个;执行一个操作但要控制鼠标指针改变也得用这个否则可能变不了;如果窗体LOAD事件处理代码很长你又想让窗体最先显示也少不了这个;延时用的API函数SLEEP也应该用这个。一句话,如果希望你处理的代码不至于拖累到其它部分代码执行效果不成功都要用这个,最好在关键语句前后各加一条。一点愚见。