欢迎来到天天文库
浏览记录
ID:20412988
大小:140.75 KB
页数:5页
时间:2018-10-09
《access中vba流程控制语句》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Access中VBA流程控制语句循环语句[1]循环语句循环语句可以实现重复执行一行或儿行程序代码。VBA支持以下循环语句结构:For-Ncxt,Do-Loop和While-Wendo1.For-Next语句For-Next语句能够重复执行程序代码区域特定次数,使用格式如下:For循环变量=初值To终步长]循环体[条件语句序列ExitFor结束条件语句序列]Next[循环变置]其执行步骤(a-d)为:a.循环变i取初值;b.循环变跫与终值比较,确定循环足否进行:步长>0吋若循环变童位<=终位,循环继续,执行步骤c;若循环变量值〉终值,循环结朿,退出循环。步长=0时若循环变ft值<=终值,死
2、循环;若循环变最值〉终值,一次也不执行循环。步长>0吋若循环变量值〉=终值,循环继续,执行步骤c;若循环变量值〈终值,循环结束,退出循环。c.执行循环体;cl.循环变ft值增加步长不(循环变最=循环变景+步长),程序跳转至b。循环变最的值如果在循环体内不被史改,则循环执行次数UJ以使用公式“循环次数=(终值-初值+1)/步长”计算。例如,如果初值=5,终值=10,且步长=2,则循环体的执行重复(10-5+1)/2=3次。但如果循环变呈的值在循环体闪被史改,则不能适用上述公式来计算循环次数。For语句的流程如图8.18所示。田8.18Foe助环谞句班S图例8.12分析下列程序段的循环结构:
3、ForK=5to10Step2K=2*KNextK按照公式计算,循环次数为:(10-5+1)/2=3次。但这是错误的。实际上,该循环的循环次数为只宥1次(循环变罝先后取值5和12,循环执行一次后,循环变置值为12,超过终值10,循环结朿)。步长为1吋,关键字Step可以省略。步松一般是整数取值,W实数也可以,但不常见。如果终值小于初值,步长要取负值;否则,For-Next语句会被忽略,循环体一次也不执行。如果在For-Next循环中,步长为0,该循环便会東执行无数次,造成“死循环”。选择性的ExitFor语句可以组织在循环体屮的If-Thcn-EndIf条件语句结构屮,用来提前屮断并退出
4、循环。Eor-Next循环结束,则程序从Nect的下一行语句继续执行,在实际应用中,For-Next循环还经常与数组配合操作数组元素,例8.13将A到Z的大写字母赋予字符数组str$()。For1=1To26str$(I)=Chr$(I+64)’大写字母“A”的ASII码值为65NextI例8.14在立即窗口中显示有星号(*)组成的5X5的正方形。SubProcedures()ConstMAX=5DimStrAsStringStr=〃"Forn=lToMAXStr=SWNextnForn二1ToMAXDebug.PrintstrNextnEndSub1.DoWhile-Loop语句使用格
5、式如下:DoWhile〈条件式〉循环体[条件语句序列ExitDo结朿条件语句序列]Loop这个循环结构是在条件式结果为真吋,执行循环体,并持续到条件式结果为假或执行到选择性ExitDo语句而退出循环,循环流程如阁8.19所示。例8.15用DoWhile-Loop语句,完成例8.12大写英文26个字母向数组元素赋值的功能。代码如下:1=1DoWhileI<=26Str$(I)=Chr$(I+64)T=T+1Loop例8.16已知斐波那契序列的定义如下:f(0)=0,f(1)=1f(n)=f(n-l)+f(n-2)当n>=2时编写程序,在立即窗口中显示n为2到10吋对应的序列值。代码如下:S
6、ubProccdurc6()n二1fl=0f2=lDoWhilen〈10f=fl+f2Debug.Printffl=f2f2=fn=n+lLoopEndSub1.DoUntil-Loop语句与DoWhile-Loop结构相对应,还有另一个Do循环结构,DoUntil-Loop结构。该结构是条件式值为假时,重复执行循环,直至:条件式值为真,结朿循环。循环流程如图8.20所示。条件《达式T囲8.20DoUalU—Loop撖环语句流程使用格式如下:DoUntil〈条件式〉循环体[条件语句序列ExitDo结束条件语句序列]Loop例8.17将例8.15用DoUntil-Loop循环结构语句必定程
7、序:T=1DoUntil1>26’与WhileI〈=26条件不同,Until要判断直到I〉26结束循环Str$(I)=Chr$(I+64)1=1+1Loop上面两个Do循环的条件式均安排在结构的起始位置。实际上,条件式也可以安排在结构的末尾。1.Do-LoopWhile语句Do循环体[条件语句序列ExitDo结朿条件i5句序列]LoopWhile条件式循环流程如图8.21所示。田8.21DoUalil—Loop棚环语句S程朗2.Do
此文档下载收益归作者所有