Access中VBA流程控制语句.docVIP

  • 24
  • 0
  • 约 5页
  • 2017-03-05 发布于重庆
  • 举报
Access中VBA流程控制语句

Access中VBA流程控制语句——循环语句[1] 循环语句      循环语句可以实现重复执行一行或几行程序代码。VBA支持以下循环语句结构:For-Next、Do-Loop和While-Wend。   1.For-Next语句   For-Next语句能够重复执行程序代码区域特定次数,使用格式如下:   For 循环变量=初值 To 终值[Step步长]   循环体   [条件语句序列   Exit For   结束条件语句序列]   Next[循环变置]   其执行步骤(a-d)为:   a.循环变量取初值;   b.循环变量与终值比较,确定循环是否进行:   步长0时   若循环变量值=终值,循环继续,执行步骤c;若循环变量值终值,循环结束,退出循环。   步长=0时   若循环变量值=终值,死循环;若循环变量值终值,一次也不执行循环。   步长0时   若循环变量值=终值,循环继续,执行步骤c;若循环变量值终值,循环结束,退出循环。   c.执行循环体;   d.循环变量值增加步长不(循环变量=循环变量+步长),程序跳转至b。   循环变量的值如果在循环体内不被更改,则循环执行次数可以使用公式“循环次数=(终值-初值+1)/步长”计算。例如,如果初值=5,终值=10,且步长=2,则循环体的执行重复(10-5+1)/2=3次。但如果循环变量的值在循环体内被更改,则不能适用上述公式来计算循环次数。For语句的流程如图8.18所示。 例8.12 分析下列程序段的循环结构:   For K=5 to 10 Step 2   K=2*K   Next K   按照公式计算,循环次数为:(10-5+1)/2=3次。但这是错误的。实际上,该循环的循环次数为只有1次(循环变置先后取值5和12,循环执行一次后,循环变置值为12,超过终值10,循环结束)。   步长为1时,关键字Step可以省略。步长一般是整数取值,用实数也可以,但不常见。   如果终值小于初值,步长要取负值;否则,For-Next语句会被忽略,循环体一次也不执行。   如果在For-Next循环中,步长为0,该循环便会重复执行无数次,造成“死循环”。   选择性的Exit For语句可以组织在循环体中的If-Then-End If条件语句结构中,用来提前中断并退出循环。   For-Next循环结束,则程序从Nect的下一行语句继续执行。   在实际应用中,For-Next循环还经常与数组配合操作数组元素。   例8.13 将A到Z的大写字母赋予字符数组str$()。   For I=1 To 26   str$(I)=Chr$(I+64) 大写字母“A”的ASII码值为65   Next I    例8.14 在立即窗口中显示有星号(*)组成的5×5的正方形。   Sub Procedure5()   Const MAX=5   Dim Str As String   Str=   For n=1 To MAX   Str=Str+*   Next n   For n=1 To MAX   Debug.Print str   Next n   End Sub 2.Do While-Loop语句   使用格式如下:   Do While条件式   循环体   [条件语句序列   Exit Do   结束条件语句序列]   Loop   这个循环结构是在条件式结果为真时,执行循环体,并持续到条件式结果为假或执行到选择性Exit Do语句而退出循环,循环流程如图8.19所示。   例8.15 用Do While-Loop语句,完成例8.12大写英文26个字母向数组元素赋值的功能。代码如下:   I=1   Do While I=26   Str$(I)=Chr$(I+64)   I=I+1   Loop   例8.16 已知斐波那契序列的定义如下:   f(0)=0,f(1)=1   f(n)=f(n-1)+f(n-2) 当n=2时   编写程序,在立即窗口中显示n为2到10时对应的序列值。代码如下:   Sub Procedure6()   n=1   f1=0   f2=1   Do While n10   f=f1+f2   Debug.Print f   f1=f2   f2=f   n=n+1   Loop   End Sub 3.Do Until-Loop语句   与Do While-Loop结构相对应,还有另一个Do循环结构,Do Until-Loop结构。该结构是条件式值为假时,重复执行循环,直至条件式值为真,结束循环。   循环流程如图8.20所示。     使用格式如下:   Do Until条件式   循环体   [条件语句序列   Exit

文档评论(0)

1亿VIP精品文档

相关文档