Access数据库第三章VB.ppt_第1页
Access数据库第三章VB.ppt_第2页
Access数据库第三章VB.ppt_第3页
Access数据库第三章VB.ppt_第4页
Access数据库第三章VB.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章 Visual Basic程序结构,3.1 Visual Basic基本语句 3.2 程序结构 习题三,3.1 Visual Basic基本语句,3.1.1 赋值语句 赋值语句是任何程序设计中最基本的语句。它的作用是使右边表达式的值赋给左边的变量,Visual Basic使用赋值号“=”来赋值,其格式如下: 说明: (1) LET表示赋值,通常省略。,(2) 表达式的类型应与变量名的类型一致,即同时为数值型或同时为字符型。当同为数值型但具有不同的精度时,强制转换成左边的精度。例如: iA%=3.5 iA为整型变量,iA中的结果为3 (3) 给变量赋值和设定属性是Visual Basic编程中常见的两个程序语句。例如: sRate!=0.1 sRate为单精度变量,将0.1赋值给变量sRate Text1.text =“ 为文本框设置空字符串属性 Text1.text“欢迎使用Visual Basic 6.0“ 为文本框显示字符串 (4) 虽然赋值号与关系运算符等于号都用“=”表示,但Visual Basic系统不会产生混淆。会根据所处的位置自动判断是何种意义的符号。,3.1.2 用户交互函数和过程 Visual Basic与用户之间的直接交互是通过InputBox函数、 MsgBox函数和MsgBox子过程进行的。 1InputBox函数 InputBox函数的作用是打开一个对话框,等待用户键入文本或选择一个按钮。当用户单击“确定”按钮或按回车键,函数返回文本框中输入的值。函数形式如下: 变量=InputBox$(提示,标题,缺省,x坐标位置,y坐标位置),说明: (1) 有“$“选项,返回的数据类型是字符串型;省略此项,返回的数据类型跟声明的变量类型一致。 (2) 不能省略“提示”项,该项为一字符串表达式,在对话框中作为信息显示,可为汉字;若要在多行显示,必须在每行行末加回车chr(13)和换行chr(10)控制符。 (3) “标题”为字符串表达式,在对话框的标题区显示;若省略,则把应用程序名放入标题栏中。,(4)“缺省”为字符串表达式,当在输入对话框中无输入时,则该缺省值作为输入的内容。 (5) “x坐标位置”、“y坐标位置”为整型表达式,坐标确定对话框左上角在屏幕上的位置;屏幕左上角为坐标原点,单位为twip。 (6) 各项参数次序必须一一对应,除了“提示”一项不能省略外,其余各项均为可选项,但缺省部分也要用逗号占位符跳过。 (7) 函数返回值为字符串类型,若想将其转换为其它数据类型,还要进行相应的转换操作。,【例31】在文本框中输入用户的姓名,当按确定按钮后,strName变量中的值为用户所输入的字符串。 (1) 编写事件。 Private Sub Command1_Click() Dim strName As String * 40, strS1 As String * 40 strS1 = “请输入你的姓名“ + Chr(13) + Chr(10) + “然后单击确定“ strName = InputBox$(strS1, “输入框“, , 100, 100) End Sub (2) 程序运行如图3.1所示。,图3.1 例31程序运行结果显示,2MsgBox函数和MsgBox子过程 MsgBox函数的作用是打开一个信息框,等待用户选择一个按钮。MsgBox函数返回所选按钮的整数值;若不需返回值,则可作为MsgBox子过程使用。 MsgBox函数形式如下: 变量%MsgBox(提示,按钮,标题) MsgBox子过程形式如下: MsgBox提示,按钮,标题,说明: (1) “提示”和“标题”的意义与InputBox函数中对应的参数相同。 (2)“按钮”为整型表达式,决定信息框按钮的数目、类型及出现在信息框上的图标类型。MsgBox按钮的设置和含义如表3.1所示,MsgBox函数返回值的含义如表3.2所示。,表3.1 MsgBox“按钮”的设置和含义,表3.2 MsgBox函数返回值的含义,(3) 表3.1中按钮的4个分组可以组合使用(可以用内部常数形式或按钮形式表示)。 (4) 以应用模式建立对话框时,必须响应对话框才能继续当前的应用程序;以系统模式建立对话框时,所有的应用程序都将被挂起,直到用户响应了对话框。 (5) InputBox、MsgBox中的参数必须按语法要求规定的顺序提供数值,缺省部分也要用逗号占位符跳过。为了克服这个规定,在Visual Basic 4.0以后的版本中,提供了命名参数的使用。形式如下:,MsgBox prompt,buttons,title MsgBox函数 变量%MsgBox(prompt,buttons,title) MsgBox子过程 InputBox$(prompt,title,defaultxPos,yPos) InputBox函数 关键字prompt(提示)、buttons(按钮)、title(标题)、default(缺省)、xPos(x坐标)、yPos(y坐标)是命名参数。命名参数可用“:=”以任意顺序赋值,而且有较好的可读性。,【例32】MsgBox示例。 I = MsgBox(“密码错误“, 5 + vbExclamation, “输入密码“) 用命名参数表示为: I = MsgBox(buttons:=5 + vbExclamation, title:=“输入密码“, prompt:=“密码错误“) 以上两例效果相同。运行结果如图3.2所示。,图3.2 MsgBox示例,3.2 程 序 结 构,3.2.1 选择结构 选择结构完成根据条件选择执行的分支的功能。Visual Basic中提供了多种形式的条件语句。 1If.Then语句(单分支结构) 该语句形式如下: If Then 语句块 End If If Then ,说明: (1) 表达式一般为关系表达式、逻辑表达式,也可为算术表达式。表达式值按非0为True,0为False进行判断。 (2) 语句块可以是一条或多条语句。若用中简单的形式表示,则只能是一条语句或是用冒号分隔的多条语句,但必须在一行上书写。 (3) 该语句的作用是当条件表达式的值为非0时(True),执行Then后面的语句块(或语句),否则不做任何操作。,2If . Then . Else语句(双分支结构) 该语句形式如下: IfThen Else End If IfThenElse 该语句的作用是当表达式的值为非零(True)时,执行Then后面的语句块1(或语句1),否则执行Else后面的语句块2(或语句2)。,3If.Then.ElseIf语句(多分支结构) 这种语句为多分支选择结构,如图3.3所示。 语句形式如下: IfThen ElseIfThen . Else 语句块n1 End If,该语句的作用是根据不同的表达式确定执行哪个语句块,Visual Basic测试条件的顺序为:表达式1,表达式2,一旦遇到表达式值为非0(True),则执行该条件下的语句块。,图3.3 多分支选择结构,【例33】 在两个文本框中输入数据,用消息框显示最大值。要求: (1) 进行界面设计以及属性设计(参考运行结果图3.4)。 (2) 编写事件。,图3.4 例33程序运行结果显示,Private Sub Command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) y = Val(Text2.Text) If x y Then t = x x = y y = t End If MsgBox “较大的数为“ & x End Sub,4Select Case语句(情况语句) 该语句形式如下: Select Case 变量或表达式 Case表达式列表1 语句块1 Case表达式列表2 语句块2 Case Else 语句块n1 End Select,说明: (1) 可以是数值型或字符串表达式。 (2) 与的类型必须相同,可以是下面4种形式之一: 表达式; 一组枚举表达式(用逗号分隔); 表达式1 To 表达式2; Is关系运算符。,前一种形式与某个值比较,后三种形式与设定值的范围比较。在每个Case后可跟多个表达式列表,之间用逗号分隔。例如: Case 1 To 10 表示测试表达式的值在1到10的范围内 Case 2, 4, 6, 8, Is 10 表示测试表达式的值为2、4、6、8或大于10 (3) 该语句是多分支结构的另一种表示形式,其作用是比较的结果和各Case子句中的值,决定执行哪一组语句块。如果有多个Case短语中的值与测试值匹配,则执行第一个与之匹配的语句块。,【例34】 编写一个对输入字符进行转换的程序。转换规则为,将其中的大写字母转换成小写字母,小写字母转换成大写字母,空格不转换,其余转换成“*”。要求每输入一个字符,马上就进行判断和转换。 (1) 建立应用程序的用户界面。 (2) 设计对象属性。 (3) 编写事件代码。根据题中要求,当在“输入字符串”文本框中,每输入一个字符键马上就进行判断,这就要求对“输入字符串”文本框对象Text1对应的KeyPress事件进行编程。,程序编制如下: Private Sub Text1_KeyPress(KeyAscii As Integer) Dim aa As String * 1 aa = Chr$(KeyAscii) 将ASCII码转换成字符 Select Case aa Case “A“ To “Z“ 大写转换成小写 aa = Chr$(KeyAscii + 32) Case “a“ To “z“ 小写转换成大写 aa = Chr$(KeyAscii - 32) Case “ aa = “ Case Else aa = “*“,End Select Text2.Text = Text2.Text & aa 将文本框中已有的内容与转换字符连接 End Sub 命令按钮Command1的Click事件代码: Private Sub Command1_Click() Text1.Text = “ Text2.Text = “ End Sub 命令按钮Command2的Click事件按钮: Private Sub Command2_Click() Unload Me End Sub,(4) 程序运行结果如图3.5所示。,图3.5 例3-4程序运行结果,图3.6 For循环语句结构,3.2.2 循环结构 循环是在指定的条件下多次重复执行一组语句。Visual Basic中提供了多种形式的循环结构,最主要的有For.Next循环语句和Do.Loop循环语句两种。它们的区别是For.Next循环语句知道具体的循环次数;而Do.Loop语句并不知道确切的次数,通常由一个条件来终止循环。,1For循环语句 For循环语句用于控制循环次数预知的循环结构。循环语句结构如图3.6所示,语句形式如下: For循环变量=初值 to 终值 Step 步长 语句块 Exit For 语句块 Next 循环变量,说明 (1) 循环变量必须为数值型。 (2) 步长一般为正,初值小于终值;若为负,这时初值大于终值;缺省时步长为1。 (3) 语句块可以是一条或多条语句。 (4) Exit For表示当遇到该语句时,退出循环,执行Next的下一条语句。 (5) For循环语句执行的过程如下:, 循环变量被赋初值,它仅被赋值一次。 判断循环变量是否在终值内,若是,则执行循环体;若否,则结束循环,执行Next的下一语句。 循环变量加步长,转,继续循环。,2Do.Loop循环语句 Do循环用于控制循环次数未知的循环结构。此种语句有两种语法形式,分别如下: 形式1 Do While | Until 语句块 Exit Do 语句块 Loop 形式2 Do 语句块 Exit Do 语句块 Loop While | Until,说明: (1) 形式1是先判断后执行,有可能一次也不执行;形式2是先执行后判断,至少执行一次。两种形式(指While)的流程分别见图3.7和图3.8。 (2) 关键字While用于指明条件为True时就执行循环体中的语句,Until正好相反。 (3) Exit Do表示当遇到该语句时,退出循环,执行Loop的下一语句。,图3.7 Do While | Until循环结构,图3.8 Do循环结构,对于循环的嵌套,要注意以下事项: (1) 内循环变量与外循环变量不能同名。 (2) 外循环必须完全包含内循环,不能交叉。 (3) 不能从循环体外转向循环体内,也不能从外循环转向内循环,反之则可以。,【例35】 分别用两种循环方式求1+2+3+100的值,运行结果如图3.9所示。,图3.9 例3-5程序运行结果,两个按钮的Click单击事件代码分别为: Do.Loop循环结构 Private Sub Command1_Click( ) Dim s As Integer, n As Integer s = 0 n = 1 Do While n = 100 s = s + n n = n + 1 Loop Text1.Text = s End Sub, For.Next循环结构 Private Sub Command2_Click( ) Dim s As Integer, n As Integer s = 0 For n = 1 To 100 s = s + n Next n Text1.Text = s End Sub,3.2.3 其它辅助控制语句 1GoTo语句 GoTo语句的形式如下:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论