各种循环语句的用法-杜小杰
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


各种循环语句的用法

发表时间:2011/3/21 评论(3) 浏览(25439)  评论 | 加入收藏 | 复制
   
摘 要:常用循环语句
正 文:
1.While...Wend 语句
只要指定的条件为 True,则会重复执行一系列的语句。
语法
While condition
[statements]
..
Wend
2.Do...Loop
2.1 第一种用法
用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同 If...Then condition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。
在下面的 Do...Loop 循环中,只要 condition 为 True 就执行 statements。
Do While condition
statements
..
Loop
2.2 第二种用法
Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试 condition。这种形式保证 statements 至少执行一次:
Do
statements
Loop While condition
注:其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。
循环零次或多次 
Do Until condition
   statements
Loop
至少循环一次 
Do
   statements
Loop Until condition 
3.For...Next
在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do 循环不同, For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:
For counter = start To end [Step increment]
statements
Next [counter]
参数 Counter、Start、end 和 increment 都是数值型的。
注意 increment 参数可正可负。如果 increment 为正,则 Start 必须小于等于 end,否则不能执行循环内的语句。如果 increment 为负,则 Start 必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。
实例:
以下代码打印出所有有效的屏幕字体名:
Private Sub Form_Click ()
Dim I As Integer
For i = 0 To Screen.FontCount
   Print Screen.Fonts (i)
Next
End Sub
4.For Each...Next
For Each...Next 循环与 For...Next 循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, For Each...Next 循环非常有用。
For Each...Next 循环的语法如下:
For Each element In group
statements
Next elementt
例如,下面的子过程打开 Biblio.mdb,把每一个表的名字加到列表框中。
Sub ListTableDefs ()
Dim objDb As Database
   Dim MyTableDef as TableDef
Set objDb = OpenDatabase("c:\vb\biblio.mdb", _
True, False)
For Each MyTableDef In objDb.TableDefs ()
   List1.AddItem MyTableDef.Name
Next   MyTableDef
End Sub
请记住使用 For Each...Next 时的几点限制: 
对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。
对数组,element 只能是 Variant 变量。
For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。

Access软件网交流QQ群(群号:198465573)
 
 相关文章
【PPT教程】各种循环语句小教程  【风行  2011/9/24】
自动填表-连续序号(For循环语句)  【杜超  2012/2/18】
常见问答
技术分类
相关资源
文章搜索
关于作者

杜小杰

文章分类

文章存档

友情链接