Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

使用 Do...Loop 语句

时 间:2022-10-13 08:06:54
作 者:smileyoufu   ID:1784  城市:成都
摘 要:使用 Do...用于 无限次运行语句 块的循环 语句。 这些语句在条件为 True 时重复,或者直到条件变成 True 时重复。
正 文:

使用 Do...用于 无限次运行语句 块的循环 语句。 这些语句在条件为 True 时重复,或者直到条件变成 True 时重复。

条件为 True 时重复语句

有两种方法可以使用 While 关键字 检查 Do ... 中的条件。Loop 语句。 可以在进入循环之前检查条件,也可以至少运行循环一次后检查条件。

在下面过程中 ChkFirstWhile ,您将在进入循环之前检查条件。 如果 myNum 设置为 9 而不是 20,循环中的语句决不会运行。 在 ChkLastWhile 过程中,循环中的语句在条件变成 False 前仅会运行一次。

Sub ChkFirstWhile() 
    counter = 0 
    myNum = 20 
    Do While myNum > 10 
        myNum = myNum - 1 
        counter = counter + 1 
    Loop 
    MsgBox "The loop made " & counter & " repetitions." 
End Sub 
 
Sub ChkLastWhile() 
    counter = 0 
    myNum = 9 
    Do 
        myNum = myNum - 1 
        counter = counter + 1 
    Loop While myNum > 10 
    MsgBox "The loop made " & counter & " repetitions." 
End Sub

重复语句,直到条件变成 True

可通过两种方式使用 Until 关键字检查 Do...Loop 语句中的条件。 您可以在进入循环前检查条件(如 ChkFirstUntil 过程中所示),或者也可以在至少运行循环一次后检查(如 ChkLastUntil 过程中所示)。 循环在条件仍为 False 时继续运行。

VB复制

Sub ChkFirstUntil() 
    counter = 0 
    myNum = 20 
    Do Until myNum = 10 
        myNum = myNum - 1 
        counter = counter + 1 
    Loop 
    MsgBox "The loop made " & counter & " repetitions." 
End Sub 
 
Sub ChkLastUntil() 
    counter = 0 
    myNum = 1 
    Do 
        myNum = myNum + 1 
        counter = counter + 1 
    Loop Until myNum = 10 
    MsgBox "The loop made " & counter & " repetitions." 
End Sub

退出 Do...循环内部的 Loop 语句

可以退出 Do ...使用 Exit Do 语句 进行 循环。 例如,若要退出无限循环,请使用 If... True 语句块中的 Exit Do 语句。然后...Else 语句或 Select Case 语句。 如果条件为 False ,循环将照常运行。

在下面的示例中 myNum ,分配了一个创建无限循环的值。 If...Then...Else 语句将检查此条件,然后退出,从而阻止无限循环。

VB复制

Sub ExitExample() 
    counter = 0 
    myNum = 9 
    Do Until myNum = 10 
        myNum = myNum - 1 
        counter = counter + 1 
        If myNum < 10 Then Exit Do 
    Loop 
    MsgBox "The loop made " & counter & " repetitions." 
End Sub

 备注

[!注释] 若要停止无限循环,请按 Esc 或 Ctrl+Break。



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助