本人VB很初级,想做一个自动反复执行的语句,比如点击command1,则自动反复的执行一个查询语句,满足条件时则停止查询麻烦哪位大哥给写一段,有类似的实例给贴上来也行,让小弟学习一下

解决方案 »

  1.   

    Private Sub Command1_Click()    Dim bLoop As Boolean
        '这里按‘外部条件’设置 bLoop 的值,决定是否循环
         '或直接 bLoop = True 强制进行循环
        Do While (bLoop)
            '.............
            '...........
            '上面就是你的一系列的执行语句
            '比如你说的‘查询语句’
            '
            '在这里进行是否继续循环的判断
            '按你的意思:
            If (满足条件时) Then bLoop = False
        LoopEnd Sub
      

  2.   

    在楼上的`循环中间最好加一个doevents 要不然会假死!!!
      

  3.   

    二楼大哥你说的doevents 加在哪啊还是不明白我的代码如下,麻烦哪位大哥再给谢谢吧Private Sub Command1_Click()
    On Error GoTo err_proc
    cn.Open "Provider=SQLOLEDB.1;Password=" & Text6.Text & ";Persist Security Info=True;User ID=" & Text1.Text & ";Initial Catalog=" & Text3.Text & ";Data Source=" & Text4.Text & ""
    ado.Open cn '连接到数据库If ado.State = adStateOpen ThenMsgBox "连接成功", vbInformation + vbOKOnly + vbDefaultButton1, "提示:"Else
    err_proc:
      Text2 = Text2 + 1
      
     Text6.Text = Text5.Text & Text2.Text
      
    End IfEnd Sub
      

  4.   

    Private Sub Command1_Click() 
    On Error GoTo err_proc 
    do
    doevents

    cn.Open "Provider=SQLOLEDB.1;Password=" & Text6.Text & ";Persist Security Info=True;User ID=" & Text1.Text & ";Initial Catalog=" & Text3.Text & ";Data Source=" & Text4.Text & "" 
    ado.Open cn '连接到数据库 

    If ado.State = adStateOpen Then 

    MsgBox "连接成功", vbInformation + vbOKOnly + vbDefaultButton1, "提示:" 
    exit do

    Else 
    err_proc: 
      Text2 = Text2 + 1 
       
     Text6.Text = Text5.Text & Text2.Text 
       
    End If 
    loop
    End Sub
      

  5.   

    谢谢各位大哥回帖但是程序无法循环起来,可以完成一次循环,但第二次循环开始后On Error GoTo err_proc 就没有作用了,无法屏蔽掉SQL的错误提示,如果第二次循环连接成功的话可以激发MsgBox "连接成功"
      

  6.   

    谢谢各位回帖,问题已解决我用了On Error Resume Next 忽略错误
      

  7.   

    用这样的代码:
    Private Sub Command1_Click()
        Do
            DoEvents
            On Error GoTo ErrProc_
            cn.Open "Provider=SQLOLEDB.1;Password=" & Text6.Text & ";Persist Security Info=True;User ID=" & Text1.Text & ";Initial Catalog=" & Text3.Text & ";Data Source=" & Text4.Text & ""
            ado.Open cn '连接到数据库
            On Error GoTo 0
            If ado.State = adStateOpen Then
                MsgBox "连接成功!", 64, "提示"
                Exit Do
            Else
    ErrProc_:
                Text2 = Text2 + 1
                Text6.Text = Text5.Text & Text2.Text
            End If
        Loop
    End Sub