版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Access数据库程序设计,第9章 模块与VBA数据库编程,主要内容: VBA编程语言基础 结构化程序设计 面向对象的程序设计 VBA程序设计的调试,模块的基本概念: 模块是access系统中的一个重要对象,它以VBA( Visual Basic for Applications )为基础编写,以函数过程(Function)和子过程(Sub)为单元的集合方式存储。 在access中,模块分为类模块和标准模块两种类型。窗体和报表模块都是类模块,标准模块通常安排一些公共变量或过程供类模块里的过程调用。在各个标准模块内部也可以定义私有变量和私有过程仅供本模块内部使用。在Access系统中,根据需要可
2、以将设计好的宏对象转换为模块代码的形式。 创建模块: 创建VBA模块(在模块中加入过程、在模块中执行宏),创建过程 过程是模块的组成单元,由VBA代码编写而成。过程分两种类型:Sub子过程和Function函数过程。 模块是装着VBA代码的容器。在窗体和报表的设计视图中,单击工具栏“代码”按钮或者创建窗体和报表的事件过程可以加入类模块的设计和编辑窗口。单击数据库窗体中的“模块”对象标签,然后单击“新建”按钮即可进入标准模块的设计和编辑窗口。 一个模块包含一个声明区域,且可以包含一个或多个子过程或函数过程。,1、Sub过程(子过程),执行一系列操作,无返回值。定义格式如下: Sub 过程名()
3、程序代码 End Sub 注:可以引用过程名来调用该子过程。此外,VBA提供了一个关键字Call,可显示调用一个子过程。 参数名前面是ByRef或没有东西时,过程调用后,过程名后面的参数值会跟着改变,2、Function过程(函数过程),执行一系列操作,有返回值。定义格式如下: Function 过程名 () As 数据类型 程序代码 End Function 函数过程不能使用Call来调用执行,需要直接引用函数过程名,并直接在函数过程名后的括号所辨别。 Sub子过程或Function函数过程后面的(),5,7,12,X,y,Z,a,b,c,5,7,0,X,y,Z,a,b,c,12,VBA中的
4、应用程序是由许多对象组成的,如表、窗体、查询等。对象是帮助构造应用程序的元素,以特定的方式组织这些对象,就形成了应用程序。 数据库窗口把可供选择的对象排列在一起,形成不同的类。,面向对象程序设计的基本概念,对象:在采用面向对象程序设计方法的程序中,程序处理的目标被抽象成了一个个对象,每个对象具有各自的属性、方法和事件。 类:是对一类相似对象的定义和描述。因此类可看做是对象的模板,每个对象由类来定义。,面向对象程序设计的基本概念,对象的属性、事件和方法,属性 用来表示对象的状态,如窗体的Name(名称)属性、Caption(标题)属性等。其格式为: 对象名.属性=属性值 事件和事件过程 事件是指
5、可以发生在一个对象上且能够被该对象所识别的动作。如:单击某个命令按钮就产生该按钮的“单击”事件 事件过程:对象在识别了所发生的事件后执行的程序 例如,下面的事件过程描述了单击按钮Command1之后所发生的一系列动作。 Private Sub Command1_Click() Me!Label1.Caption = “Access程序设计 Me!Text1 = End Sub,方法 方法是系统事先设计好的,可以完成一定操作的特殊过程,用来描述对象的行为,如窗体有Refresh方法,Debug对象有Print方法等。在需要使用的时候可以直接调用。 其调用格式为: 对象名.方法名 例如 DoCmd
6、.OpenReport “教师信息” 是指利用DoCmd对象的OpenReport方法打开报表“教师信息” 注:引用对象的属性或方法时应该在属性名或方法名前加对象名,并用对象引用符“.”连接,即对象.属性或对象.行为。,Access中除数据库的7个对象外,还提供一个重要的对象:DoCmd对象 除窗体、控件的SetFocus(获得控制焦点)方法外,用得最多得是 DoCmd对象 的一些方法。使用这些方法,可以在VBA中运行Access的操作。,打开当前数据库中的“Employees”窗体 DoCmd.OpenForm Employees 在数据库窗口中选择“Employees”窗体 DoCmd.S
7、electObject acForm, Employees ,True 在数据库窗口中关闭“Employees”窗体 DoCmd.Close acForm, “Employees”, acSaveYes 删除数据库中的“Employees” 表 DoCmd.DeleteObject Employees,DoCmd 对象的常用方法,例:新建一个窗体并添加两个命令按钮,运行窗体后,单击第一个按钮,弹出一个消息框;单击第二个按钮,退出当前窗体。,通过此例,体会可视化编程、面向对象、事件过程、应用方法等基本概念。,进入VBE编程环境 VBE窗口的组成 VBE窗口由工具栏、工程资源管理器窗口、 属性窗口
8、、代码窗口和立即窗口组成。 在VBE环境中编写VBA代码,VBA编程环境,标准工具条,视图Microsoft Access按钮:切换Access 2003窗口 插入按钮:插入模块或过程 运行子过程/用户窗体按钮:运行模块中的程序 中断按钮:中断正在运行的程序 重新设置按钮:结束正在运行的程序 设置模式按钮:在设计模式和非设计模式之间切换 工程资源管理器按钮:用于打开工程资源管理器 属性窗口按钮:用于打开属性窗口 对象浏览器按钮:用于打开对象浏览器,VBE编程环境,1 常量、变量,VBA编程基础,常量:在程序运行中其存储的值不会改变。变量:在程序运行中其值可以改变。,VBA使用常量、变量来存储值
9、。用来保存在程序运行期间数据。,常量 在程序运行过程中,其值不会被改变的量称为常量。在VBA中有三类常量:直接常量、符号常量和系统常量 直接常量 数值、字符串常量(用双引号括起来),日期常量(用#括起来) 如:10,#2011-1-1#, 123.0, “VBA程序设计”等 符号常量 系统常量 指VBA系统预先定义好的,用户可以直接引用的量。 如:acForm,acQuery,vbOk,符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。 VBA中使用关键字Const 声明符号常量。 其格式如下: Const 常
10、量名 类型符号=常数表达式 如: Const PI#=3.1415926,变量是内存中的临时单元,存放在程序执行过程中产生的中间结果和最后输出结果。 在程序中使用变量,就要给变量定义名称及类型,即对变量进行声明。,变量,变量命名规则 (1)以字母或汉字开头,后可跟字母、数字或下划线。 (2)变量名最长为255个字符。 (3)不区分变量名的大小写,不能使用关键字。 (4)字符之间必须并排书写,不能出现上下标。 以下是合法的变量名: a,x, x3, BOOK_1,sum5 以下是非法的变量名: 3s s*T -3x bowy-1 if,数据类型与变量的声明,在VBA中,数据类型用来决定变量可以保
11、存何种数据。VBA支持多种数据类型,为用户编程提供了方便。,VBA的数据类型,数据类型:Integer, Long, Single, Double, String, Boolean, Date等,VBA的数据类型,变量声明 用Dim| Static语句显式声明局部变量 格式:Dim 变量名 AS 类型 或 Dim 变量名类型符 语句中的“As 类型”子句是可选的。如果使用该子句,就可以定义变量的数据类型。未使用,默认变量的类型为变体型(Variant)。 例如:Dim i As integer, s 表示声明了一个名为i的整型变量和一个名为s的变体型变量。 注:变量名的最后一个字符可以是%、&
12、、!、#、$等表示数据类型的声明符。 如:Dim sum! Dim sum As Single 声明sum为单精度型变量,关键字Dim或Static的区别: Dim 声明:随过程的调用而分配存贮单元,每次调用都对变量初始化;过程体结束,变量的内容自动消失,存储单元释放。 Static 声明:Static 声明的变量,也称为静态变量。静态变量在程序运行过程中一直保留其值,即每次调用过程,变量保持原来的值。,(11)在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:Private Sub Command1_Click()Static b As integerbb1End Sub
13、窗体打开运行后,三次单击命令按钮后,变量b 的值是 【11】。 答案:3,隐式声明变量 未进行上述的声明而直接使用变量,称变量的隐式声明。采用隐式声明的变量都是变体型(Variant )。 注意: VBA中允许不事先声明而直接使用变量,可以通过语句 Option Explicit,来要求所使用的变量必须事先声明,否则VBA会发出警告信息。,下面是一个简单的程序,其使用的变量a, b, Sum都没有事先定义。 Private Sub Form_Click() Sum = 0 a = 10 b = 20 Sum = a + b Print Sum End Sub,良好的编程习惯应该是“先声明变量,
14、后使用变量”,这样做可以提高程序的效率,同时也使程序易于调试。VBA 中可以强制显式声明,可以在窗体模块、标准模块和类模块的通用声明段中加入语句:Option Explicit,声明而未赋值的变量的值为: 数值型变量初始化为0; 字符型变量为零长度字符串;” 变体型变量初始化为 Empty。,变量的初始化,数据库对象变量,Access建立的数据库对象及其属性,均可被看成是VBA程序代码中的变量及其指定的值来加以引用。 例如,Access中窗体和报表对象的引用格式为: Forms !窗体名称 !控件名称 .属性名称 或 Reports !报表名称 !控件名称 .属性名称 关键字Forms或Rep
15、orts分别表示窗体或报表对象集合。感叹号“!”分隔开对象名称和控件名称。“属性名称”部分缺省,则为控件基本属性。 如果对象名称中含有空格或标点符号,就要用方括号把名称括起来。,变量的作用域,(1)局部范围(Local) 在子过程或函数过程中定义的或直接使用的变量作用范围都是局部的。在子过程或函数内部使用Dim、StaticAs关键字说明的变量就是局部范围的,出了Sub End Sub或Function End Function范围内就无效了。 (2)模块范围(Module) 变量定义在模块的所有过程之外的起始位置,运行时在模块所包含的所有子过程或函数过程中可见。在模块的通用说明区,用Dim、
16、Static、PrivateAs关键字定义的变量作用域都是模块范围。 (3)全局范围(Public) 在标准模块的所有过程之外的起始位置,用PublicAs关键字说明的变量就属于全局的范围,运行时在类模块和标准模块的所有子过程或函数过程中都可见。,运算符和表达式,运算符 算术运算符 设ia=3,例如:123 + 456 结果 123456 123 & 456 结果 123456 使用上 与+的区别: 例如: abcdef & 12345 结果为 abcdef12345 123 & 456 结果为 123456 abcdef +12345 结果为 出错 123 + 456 结果为 579,连接运
17、算符: 、+(字符串连接),将两个操作数进行大小比较,结果为逻辑值。 注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。,关系运算符,将操作数进行逻辑运算,结果是逻辑值,逻辑运算符,组成 由变量、常量、函数等运算对象加上运算符、圆括号组成的式子。 书写规则 (1) 运算符不能相邻。例a+ -b是错误的。 (2) 乘号不能省略。例x 乘以y 应写成:x*y。 (3) 括号必须成对出现,均使用圆括号。 (4) 表达式从左到右在同一基准上书写,无高低。 运算优先级 算术运算符连接运算符关系运算符逻辑运算,表达式,例1:用人单位招聘秘书:年龄小于40岁的女性,学历专科
18、或本科, 年龄40,性别=“女”,(学历=“专科”,学历=“本科”) And And Or,例2:算术表达式: 正确的VBA表达式: 3=x And x =7 错误的VBA表达式: 3=x=7 或 3=x Or x=7,考虑:若分别写成: 年龄40 And 性别= 女 And (学历= 专科 And 学历= 本科) 年龄40 Or 性别= 女 Or (学历= 专科 Or 学历= 本科),数组 使用Dim语句定义一维数组 格式1: Dim 数组名(下标上界) As 格式2: Dim 数组名(最小下标 TO 最大下标) As 注:缺省情况下,下标下限为0,数组元素从“数组名(0)”至“数组名(下标
19、上限)”;如果使用to选项,则可以安排非0下限。 例如,dim score(10)as Integer 定义了11个整形数构成的数组,数组元素为score(0) 至score(10) 再如, dim score(1 to 10)as Integer 定义了10个元素的整型数组,数组元素为score(1)至 score(10) 注:(1)所有数组元素在内存连续存放 (2)根据下标区分数组元素,数组 使用Dim语句定义二维数组 格式1: Dim 数组名(一维下标上界,二维下标上界) As 格式2: Dim 数组名(一维下限 TO 一维上限, 二 维下限 TO 二维上限) As 例如,Dim c(1
20、 To 3, 1 To 4)As Single c(1,1)c(1,2)c(1,3)c(1,4) c(2,1)c(2,2)c(2,3)c(2,4) c(3,1)c(3,2)c(3,3)c(3,4) Dim C(1,2) As Integer C(0,0) C(0,1) C(0,2) C(1,0) C(1,1) C(1,2),如果省略As子句,则数组的类型为变体类型。 数组中各元素在内存占一片连续的存储空间,一维数组在内存中存放的顺序是按下标大小的顺序。,例:Dim mark(1 to 100) As Integer,例:Dim a(-1 to 3) As Integer 声明一维数组a,包含了
21、5个整型元素a(-1)、 a(0) 、a(1) 、a(2) 、a(3);,在定义静态数组时,每一维的元素个数必须 是常数,不能是变量或表达式。 如:错误的声明,下标是变量 Dim x(n) 或: n =Inputbox(“输入n ” ) Dim x(n) As Single,注意:,在数组声明中的下标说明了数组的整体,即每维的大小;而在程序其他地方出现的下标表示数组中的一个元素。两者写法形式相同,但意义不同。 例如:Dim x(10) As Integer x(10)=100,表示声明了数组x,有11个数组元素,对x(10)这个数组元素赋值,定义二维数组的形式: Dim 数组名(下界1 To上
22、界1,下界2 To上界2) As 类型,例如:Dim a(2,3) As Single 二维数组在内存的存放顺序是“先行后列”。 数组a的各元素在内存中的存放顺序是: a(0,0)a(0,1)a(0,2)a(0,3) a(1,0)a(1,1)a(1,2) a(1,3) a(2,0)a (2,1)a(2,2)a(2,3),2.二维数组,例:Dim lArray( 0 To 3, 0 To 4) As Long 共有 45个元素等价于: Dim lArray(3,4) As Long,动态数组指在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出数组大小。
23、形式如下: ReDim 数组名(下标,下标2) As 类型 例:Private Sub S1( ) Dim x( ) As Single n =Inputbox(“输入n”) ReDim x(n) End Sub,3.动态数组,说明: Dim、Static、Public 声明语句是说明性语句,可出现在过程内或通用声明段;ReDim语句是执行语句,只能出现在过程内; 在过程中可多次使用ReDim来改变数组元素的个数 ReDim中的下标可以是常量,也可以是有了确定值的变量。如:n=InputBox(“输入n的值”) ReDim Arr(n) 静态数组在程序编译时分配存储单元,动态数组在运行时分配存
24、储单元。,一维数组元素的引用,使用形式:数组名(下标) 其中:下标可以是常量、整型变量或表达式。 例如:设有下面的数组A(10) 、B(10) As Integer 则下面的语句都是正确的。 A(1)=B(2)+B(1)+5 取数组元素运算 A(i)=B(i) 下标使用变量 A(i+2) = B(i+1) 下标使用表达式 注意:引用数组时不能下标越界,8-5-2 数组的基本操作,1.数组元素的引用,引用二维数组的形式: 数组名(下标1,下标2) 下标1指定元素在二维表中所在的行,下标2指定元素在二维表中所在的列。,例如: a(1,2)=10 a(i+2,j)a(2,3)*2 在程序中常常通过二
25、重循环来操作使用 二维数组元素。,数组引用实例:,通过循环给数组元素的初值 For i = 1 To 10 A数组的每个元素值为1 A(i)=1 Next i 数组的输入(通过InputBox( )函数) For i = 1 To 4 For j = 1 To 5 sc(i, j) = InputBox(输入sc( &i & , & j & ) 的值) Next j Next i,2.数组元素的输入,函数实际上是系统事先定义好的内部程序,用来完成特定的功能。VBA提供了大量的内部函数,供用户在编程时使用。 函数的调用形式为: 函数名(参数表),函数,算术函数,常用标准函数,字符串函数,日期函数
26、,类型转换函数 Str() :数字转换成字符串 Val():字符串转换成数字,InputBox函数 InputBox(提示,标题,缺省) 其中:提示:提示信息; 标题:对话框标题; 缺省:输入区缺省值。 注意:函数的返回值为字符型数据。,输入、输出函数,使用MsgBox,可以在对话框中显示文本信息。 格式为: MsgBox(提示信息,按钮数目和类型,标题),MsgBox函数或方法(用于显示输出信息),MsgBox函数:变量%=MsgBox(提示,按钮,标题) MsgBox方法:MsgBox 提示,按钮,标题,VBA 常用语句,VBA代码不区分字母的大小写 系统保留字自动转换每个单词的首字母大写
27、; 语句书写自由 一行可书写几句语句,之间用冒号(:)分隔; 一句语句可分若干行书写,用续行符将语句分开。,1、VBA语句书写规则,赋值语句:给变量、常量或对象的属性指定 一个值或表达式。,2 VBA常用语句,格式:Let变量名表达式 作用:将表达式的值赋值给变量名。 一般用于给变 量赋值或对控件设定属性值。 例如:s=10 Text1.Text 欢迎使用VBA 注意:虽然赋值号与关系运算符等于号都用“=”表示,VBA会根据所处的位置自动判断是何种意义的符号,声明语句:命名和定义常量、变量、数组以及过程。,注释语句 在程序中的适当位置加上注释语句有利于程序的维护和阅读。 :Rem 注释内容 或
28、 注释内容,结构化程序设计由顺序、分支、循环这3种基本结构所组成。,4 VBA程序流程控制,单行 If 语句 格式:If 表达式 Then 语句1 Else 语句2 功能:If 测试指定的条件,如果条件表达式为真 (True),则执行Then 后面的语句1,否则 执行语句2(若Else子句未省略)。,分支结构,Private Sub p1( ) Dim x As Integer, y As Integer x = InputBox(请输入x值) If x = 0 Then y = 2 * x + 1 MsgBox y: & y End Sub,Private Sub p1( ) Dim x A
29、s Integer, y As Integer x = InputBox(“请输入x值”) If x = 0 Then y = 2 * x + 1 Else y = 1 MsgBox y: & y End Sub,根据输入x的值,观察y的输出结果,多行 If 语句 格式:If 表达式 Then 语句组1 Else 语句组2 End If,多行If语句的执行过程是:如果“表达式”的值为真,则执行语句组1;否则执行语句组2。当执行完语句组1或语句组2后,程序流程跳转到语句End If的后面。 语句组可以由一条或多条语句组成,语句组不能与Then书写在同一行,否则VBA认为是一个单行If语句,会导致
30、Else没有匹配的If。 语句“End If”是多行If语句的结束标志。在多行If语句中,即使省略Else子句,也要写该结束标志。省略Else子句时的多行If语句形式为: If 表达式 Then 语句组 End If,例:计算分段函数,单行If语句实现: If x=0 Then y=cos(x)x3+3*x If x0 Then y=sin(x)+sqr (x*x+1),多行If语句实现:If x0 Then y=sin(x)+sqr (x*x+1) Else y=cos(x)x3+3*x End If,If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。 If Th
31、en If Then End If End If,例:已知x,y,z三个数,使得xyz 用一个IF语句和一个嵌套的IF语句实现,If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End If,If语句的嵌套注意事项:书写锯齿型; If 与End If配对,IfThenElseIf语句(多分支结构) If Then ElseIf Then Else 语句块 n+1 End If,不管有几个分支,依次判断,当某条件满足,执行相应的语句,其余分支不再执行;若条件都不满足,且有Else子句
32、,则执行该语句块,否则什么也不执行。 ElseIf不能写成 Else If。,说明:,例:已知百分制成绩mark,显示对应的五级制成绩 下列三种方法哪些正确,哪些错误?,:与同类型的下面四种形式之一: 表达式 例: A“ 一组枚举表达式(用逗号分隔) 2,4,6,8 表达式1 To 表达式2 60 To 100 Is 关系运算符表达式 Is 60,Select Case语句(情况语句) 语句格式: Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End Select,数值型或字符串表达式,程序流程图,例
33、:变量strC中存放了一个字符,判断该字符类型。 用多分支结构实现: If Ucase(strC) =A And Ucase (strC) =0 And strC =9 Then Print strC + 是数字字符 Else Print strC + 其他字符 End If 用Select Case语句实现: Select Case strC Case a To z,A To Z Print strC + 是字母字符 Case 0 To 9 Print strC + 是数字字符 Case Else Print strC + 其他字符 End Select,例如:在输入成绩文本框中输入一个分数
34、,单击“判断”命令按钮后,在成绩等级文本框中显示对应的成绩等级。输入的成绩在90 100分为A,8089分为B,7079分为C,6069分为D,059分为E,否则显示出错信息。 编程点拨: 根据题意,当输入的成绩不在0,100内时,应显示出错信息,在该范围内时,应进行分等级。判断是否为合法成绩可用If语句,而分等级最好使用Select Case语句。,条件函数 IIf函数形式为: IIf(表达式,当表达式为True时的值,当表达式为False时的值) 例如:求x,y中大的数,放入max变量中。 max=IIf(x y,x,y),Sub aa() a=12 b=13 If(ab) then a=
35、b If(ab) then a=2 Elseif (a+2b) then a=3 Else a=4 End If End Sub,2,a,13,b,Sub bb() a=12 b=13 If(ab) then a=b Select case a case is b-1 a=2 case is b-2 a=3 case else a=4 End Select End Sub,循环结构 For Next循环 Do Loop循环,ForNext循环结构:将一段程序重复执行指定的次数,其中使用一个计数变量,统计执行的次数。 格式:默认步长1 For 循环变量初值 to 终值 Step 步长 语句块 E
36、xit For 语句块 Next 循环变量,ForNext循环语句,K=0 For K=5 to 20 Step 2 K=2*K If K=10 Then Exit For Next K MsgBox k,10,K,功能:执行For语句时,“循环变量”设为“初值”;执行到Next语句时,步长加(减)到循环变量上;再执行For语句时,若“循环变量”超过“终值”则循环结束。 步长:未指定值时默认为1。 若“步长”是正数或0,则“初值”应小于等于“终值”,否则,“初值”应大于等于“终值”。,K=0 For K=20 to 5 Step -2 K=k-3 Next K MsgBox K,0,K,例:计
37、算累加程序 S=1+2+3+4.+x,并输出结果。 方法:接收一个累加的终值,确定一个循环变量,循环变量有2个作用(加数和循环变量),确定一个存储累加和的变量。使用循环计算,最后输出显示结果。 Dim s As integer, x As integer x = InputBox(请输入累加的终值) For y = 1 To x s = s + y Next y 思考:计算=1+3+5+7X 或 2+4+6+8X 如何编写?,5,x,0+1+2+3+4+5,s,6,y,例:计算累乘程序 S=1*2*3*4X 方法:接收一个累乘的终值,确定一个循环变量,循环变量有2个作用(乘数和循环变量),确定
38、一个存储累乘积的变量。使用循环计算,最后输出显示结果。 Dim S As integer, i As integer x = InputBox(请输入累加的终值) S=1 For i = l To x S=S*i Next 注意:累乘的乘数和乘积变量的初值为1。,注意:出了循环,循环控制变量值的问题。 例程序段: For i=2 To 13 Step 3 循环执行次数 debug.Print i 输出 i的值分别为: 2 5 8 11 Next i debug.Print i 出了循环输出为: i=14,14,i,例: 改变循环控制变量对循环的影响 Private Sub Command1_C
39、lick() j = 0 For i = 1 To 20 Step 2 i = i + 3 j = j + 1 Print 第“& j& 次循环i=“& i Next i Print 退出循环后i=“& i End Sub 正常情况:i=1,3,5,7,9,11,13,15,17,19 现在:i=4,9,14,19,4,j,21,i,DoLoop循环语句(用于控制循环次数未知) 形式1: Do While|Until 语句块 Exit Do 语句块 Loop,形式2: Do 语句块 Exit Do 语句块 Loop While|Until ,DoLoop语句(循环结构),Do While Lo
40、op语句 Do Until Loop语句 Do Loop While语句 Do Loop Until语句,Do While Loop语句,i=1 Do While i=10 s=s+i i=i+1 Loop S=0+1+2+3+4+5+10 当i=10成立时,执行循环体 循环变量i必须有初值 防止产生死循环 有可能一次也不执行循环体,修改循环控制变量,改变加数值,11,i,0+1+2+3+10,s,(11)某个窗体已编写以下事件过程。打开窗体运行后,单击窗体,消息框的输出结果为【11】 。1024 Private Sub Form_Click() Dim k As Integer, n As
41、Integer, m As Integer n = 10: m = 1: k = 1 Do While k = n m = m * 2 k = k + 1 Loop MsgBox m End Sub,Do Loop While,i=1 Do s=s+i i=i+1 Loop While i=10 当i=10成立时,执行循环体 循环变量i必须有初值 防止产生死循环 至少执行一次循环体,修改循环控制变量,改变加数值,11,i,0+1+2+3+10,s,Do Until Loop,i=1 Do Until i10 s=s+i i=i+1 Loop 当i10成立时,结束执行循环体 循环变量i必须有初值 防止产生死循环 有可能一次也不执行循环体,修改循环控制变量,改变加数值,11,i,0+1+2+10,s,Do Loop Until,i=1 Do s=s+i i=i+1 Loop Until i10 当i10成立时,结束执行循环体 循环变量i必须有初值 防止产生死循环 至少执行一次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 厦门演艺职业学院《中国传统文化十五讲》2025-2026学年期末试卷
- 南昌大学科学技术学院《民法总论》2025-2026学年期末试卷
- 江西理工大学《现代文学》2025-2026学年期末试卷
- 肿瘤健康宣教计划
- 睾丸健康护理指南
- 2025-2026年济南市“市中区”九年级中考数学一模考试试题以及含答案
- 套筒窑石灰煅烧工安全行为测试考核试卷含答案
- 连锁经营管理师岗前工艺规程考核试卷含答案
- 平台稳性操作员岗前风险识别考核试卷含答案
- 脂肪烃生产工操作知识竞赛考核试卷含答案
- 2026河北邢台学院高层次人才引进55人备考题库(含答案详解)
- 青岛2026事业单位联考-综合应用能力A类综合管理模拟卷(含答案)
- 2026年医学伦理学期末试题及参考答案详解【培优A卷】
- 6.3 简单的小数加、减法 课件2025-2026学年人教版数学三年级下册
- 国际珍稀动物保护日课件
- 2026年南京大数据集团有限公司校园招聘考试参考试题及答案解析
- 2026年中国烟草招聘考试试题及答案
- 重医大儿科护理学教案08消化系统疾病患儿的护理-小儿腹泻
- 塔式起重机检验报告
- DBJ∕T 15-197-2020 高大模板支撑系统实时安全监测技术规范
- 信息论-基础理论与应用:第四章波形信源和波形信道
评论
0/150
提交评论