欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    模块的设计与使用.ppt

    • 资源ID:6422347       资源大小:8.05MB        全文页数:192页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模块的设计与使用.ppt

    ACCESS数据库技术与应用,第9章 模块的设计与使用,模块的基本概念 VBA程序设计基础 VBA函数的使用 模块的建立与使用 过程与参数传递,本章要点:,9.1 模块概述,模块是一个或多个过程组成的集合,用模块的名字存储在一起,其中的每个过程都能实现特定操作。模块是由声明、语句和过程组成的集合,以VBA(Visual Basic for Application)语言编写,作为一个已命名的单元存储在一起。,(1)模块:模块由一个或多个过程组成,每个过程实现一个或几个功能。模块的执行通过特定事件激发相应的事件过程实现。(2)模块有2种类型:类模块和标准模块。使用模块可以在实际开发中实现较为复杂的功能。类模块:类模块是包含代码和数据的集合,可以看作是没有物理表示的控件,总是与某一特定的窗体或报表相关联。窗体模块和报表模块都属于类模块。标准模块:标准模块是代码的集合,包含的过程不与任何其他对象相关联,是数据库对象使用的公共过程,保存在数据库窗口中。,9.1.1 模块的基本概念,(3)事件过程:事件过程是专为特定事件编写的一组代码,被窗体或报表的特定事件调用,实现特定的操作,并对用户的操作做出响应。事件过程只能在类模块中定义。(4)通用过程:通用过程是与特定事件无关的一组代码,能被多个同类型或不同类型的事件调用。在类模块和标准模块中都可以定义通用过程。,9.1.1 模块的基本概念,类模块的建立。例9.1:窗体中建立标签,单击标签显示问候信息。(1)新建名为win9-1的窗体。(2)窗体中建立标签标签“标题”为:问候标签“名称”为:hello背景色:淡黄色边框颜色:黑色。(3)右击标签控件快捷菜单中选:事件生成器在【选择生成器】对话框中选:代码生成器【确定】。,9.1.1 模块的基本概念,(4)在事件过程中输入代码:MsgBox“你好!”。,9.1.1 模块的基本概念,(5)转到窗体视图,单击标签显示问候信息。,标准模块的建立例9.2:建立标准模块,在标准模块中建立一个通用过程,运行过程显示问候信息。(1)单击“模块”对象单击“新建”按钮。(2)输入:sub hello()回车,回车后系统自动建立过程的起始行sub hello()与过程的结束行end sub。,9.1.1 模块的基本概念,例9.2:建立标准模块,在标准模块中建立一个通用过程,运行过程显示问候信息。(1)单击“模块”对象单击【新建】按钮。(2)输入:sub hello()回车,回车后系统自动建立过程的起始行sub hello()与过程的结束行end sub。(3)在sub hello()与end sub之间输入:MsgBox 你好!。,9.1.1 模块的基本概念,(4)单击【保存】按钮为模块起名:模块1单击【确定】。(5)【运行】菜单【运行子过程】,数据库窗口显示问候信息。,VBE(Visual Basic Editor)是Access的编程界面,也是Microsoft Office所有组件公用的程序编辑系统,编写和调试代码在VBE窗口进行。,9.1.2 编程界面,方法1:在窗体或报表设计视图中选控件单击标准工具栏的“生成器”按钮在“选择生成器”对话框中选择“代码生成器”。方法2:右击窗体或报表设计视图中控件快捷菜单中选“事件生成器”“选择生成器”对话框中选择代码生成器”。,9.1.2 编程界面,工程窗口选择对象,属性窗口选择对象的属性,代码窗口,选择事件,(1)代码窗口 代码窗口用来显示、编写以及修改VBA 代码。,对象框,过程框,9.1.2 编程界面,代码区,声明区,(2)“工程资源管理器”窗口也称工程窗口,一个数据库应用系统就是一个工程;系统中的所有类模块及标准模块对象都在该窗口中显示出来。,9.1.2 编程界面,标准模块,类模块,(3)属性窗口 属性窗口列出了选定对象的属性,可以在设计时查看、改变这些属性。,9.1.2 编程界面,(4)标准工具栏,9.1.2 编程界面,(1)“Access视图”按钮,单击按钮由VBE窗口切换到数据库窗口。(2)“插入模块”按钮,单击下拉箭头选择要插入模块的类型,打开一个新模块窗口。(3)“运行子过程/用户窗体”按钮,单击按钮运行标准模块的过程。,9.1.2 编程界面,(4)“中断”按钮,单击按钮暂停正在运行的程序。(5)“重新设置”按钮,单击按钮结束正在运行的程序(6)“设计模式”按钮,单击按钮打开或退出模块的设计模式,是开关键。(7)“工程资源管理器”按钮,单击按钮打开“工程资源管理器”窗口。(8)“属性窗口”按钮,单击按钮打开“属性”窗口。,9.2 数据类型、常量和变量,VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,VBA的语法与独立运行的Visual Basic编程语言互相兼容,也是面向对象的程序设计语言,功能强大,具有可视化编程环境。程序是对数据进行处理的。,VBA在数据类型和定义方式上均继承了传统的Basic语言的特点。Access 数据表中的字段使用的数据(OLE对象和备注字段数据类型除外)在VBA中都有对应的类型。在VBA中,数据类型用来决定变量可以保存何种数据。VBA支持多种数据类型,为用户编程提供了方便。,9.2.1 数据类型标准数据类型,9.2.1 数据类型标准数据类型,9.2.1 数据类型,2默认值变体类型Variant,是VBA的默认数据类型,凡是没有定义数据类型变量,都被默认为变体类型。变体型变量默认值为empty。Boolean型,也称为逻辑型,只有2个值:真(true)和假(false)。布尔型变量默认值为false。字符串类型String,用单引号或双引号括起来的一组字符,每个字符占1个字节。字符串型变量默认值为空串。与数字有关的数据类型,默认值为0。,3.数据类型转换函数,9.2.1 数据类型,9.2.2 常量,常量是指在程序运行的过程中,其值不能被改变的量。在Access 中,常量的类型有3种:直接常量、符号常量、系统常量(1)直接常量(字面常量)如:10,20%(整型),123.0,345#(双精度),345.12(货币型),#2010-9-10#(日期型),“VBA程序设计”等,(2)符号常量 在程序中,某个常量多次被使用,则可以使用一个符号来代替该常量,这样不仅在书写上方便,而且有效地改进了程序的可读性和可维护性。VBA中使用关键字Const 声明符号常量。其格式如下:Const 常量名 常数表达式 如:Const PI#=3.1415926,9.2.2 常量,说明:符号常量名一般用大写字母,以便与变量名区分。如果符号常量定义在模块声明区,所有模块的过程都能使用该变量,通常在前面加上Global或Public。如:Public Const PI=3.14如果符号常量定义在事件的过程中,该符号常量只在本过程中可用。符号常量定义时不用指明数据类型。,9.2.2 常量,(3)系统常量系统建立的常量,如:true、false、yes、no、on、off、null等。系统常量可以在程序设计中直接使用。内部符号常量用前两个字母指明该常量的对象库;以ac开头的是Access的库常量;以vb开头的是VBA的库常量;以db开头的是DAO的库常量;以ad开头的是ADO的库常量。,9.2.2 常量,变量是指在程序运行过程中值会发生变化的数据。变量的三要素:变量名、变量类型、变量的值。1.变量命名规则由字母、数字、下划线组成,用英文字母开头。不能包含空格以及除下划线之外的标点符号。不能用VBA的关键字(如:dim)。字符个数不得多于255个。变量名不区分大小写。变量名必须惟一,同一个过程不能有2个变量有相同的名字。,9.2.3 变量,2变量的显式声明 显式声明变量的格式:dim 变量名 as 类型 说明:(1)如果省略“as 类型”,默认变体类型,变体类型比其他类型占用更多内存资源。(2)一个dim关键字可以定义多个变量,变量之间用逗号分隔。例如:dim a1 as integer,a2 as boolean(3)用dim定义的变量是局部变量,系统按照数据类型自动设置默认值。,9.2.3 变量,3变量的隐式声明 变量没有显式声明,而是通过一个值指定给变量名,称为变量的隐式声明。隐式声明变量类型,不加类型说明符,变量默认为变体类型。例如:b1%=125 隐式声明变量b1是整型。c1=125 变量c1是变体型,值是125,9.2.3 变量,例9.3 程序中变量和符号常量的使用要求:建立窗口win9-3,在文本框中输入字符串,回车后显示为标签和窗体的标题。(1)新建窗体win9-3。(2)窗体中建立文本框“名称”为t1。(3)窗体中建立标签“名称”为b1“标题”为b1。(4)进入VBE界面在“通用-声明”中输入代码:Const PP=你好!回车。,9.2.3 变量,(5)选t1事件选:AfterUpdate输入代码如下:Rem 文本框t1的更新后事件过程 b1.Caption=PP+t1 Me.Caption=PP+t1,9.2.3 变量,(6)转到窗体视图在文本框中输入:张国华回车,标签和窗体的标题均显示字符串“你好!张国华”。,VBA中的运算符可分为4种类型:算术运算符、字符串运算符、关系运算符和逻辑运算符。(1)算术运算符 算术运算符是常用的运算符,用来执行简单的算术运算,VBA提供了8个算术运算符。乘幂()、负数(-)乘法(*)、除法(/)、整数除法()、求模(mod)、加法(+)、减法(-)。,9.2.4 运算符与表达式,(1)算术运算符,9.2.4 运算符与表达式,(2)关系运算符将两个操作数进行大小比较,结果为逻辑值,即真(True)或假(False)。相等=、不相等、大于、大于等于=、小于、小于等于=。注意:字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止。,9.2.4 运算符与表达式,(2)关系运算符,9.2.4 运算符与表达式,将操作数进行逻辑运算,结果是逻辑值。与 and、或 or、非 not。,(3)逻辑运算符,9.2.4 运算符与表达式,(4)连接运算符 字符串运算就是将两个字符串连接起来生成一个新的字符串。字符串运算符包括:&运算符+运算符,9.2.4 运算符与表达式,&运算符:将两个不同类型的数据(表达式的值)作字符串连接。例如:1&“+”&2&“等于”&1+2 结果为:“1+2等于3”,注意:由于符号“&”还是长整型的类型定义符,在字符串变量后使用运算符“&”时,变量与运算符“&”之间应加一个空格。运算符“&”两边的操作数可以是字符型,也可以是数值型。例如:12&56 结果为“1256”,9.2.4 运算符与表达式,+运算符:用来连接两个字符串表达式,形成一个新的字符串。注意:“+”运算符要求两边的操作数都是字符串。【例】“+”运算符应用示例。“4321”+1234 结果为数值:5555“4321”+“1234”结果为 43211234abcd+1234 出错4321+“1234”&100 结果为 5555100,9.2.4 运算符与表达式,5.对象运算符 对象运算符有“!”和“”两种。(1)“!”运算符:作用是指定随后为用户引用的内容。使用“!”运算符可以引用一个开启的窗体、报表或开启窗体或报表中的控件。例如:引用打开的“学生信息”窗体。forms!学生信息 引用“学生成绩”窗体中的名称为t1的控件。forms!学生成绩!t1,9.2.4 运算符与表达式,5.对象运算符(2)“”运算符:通常为对象指定相应的值或内容。使用“”运算符可以引用窗体、报表或控件等对象的属性。例如:将“学生信息”窗体中名称为Lab的标签的文字的颜色设置为红色。forms!学生信息!Lab.forecolor=255,9.2.4 运算符与表达式,6.运算优先级(1)算术运算符的优先级:幂取负乘和除整数除法求模加和减。(2)关系运算符的优先级相同,同级运算按从左到右方向进行。(3)逻辑运算符的优先级:notandor。(4)连接运算符的优先级相同。算术运算符 连接运算符 关系运算符 逻辑运算,9.2.4 运算符与表达式,函数实际上是系统事先定义好的内部程序,用来完成特定的功能。VBA提供了大量的内部函数,供用户在编程时使用。函数的调用形式为:函数名(参数表)其中,参数可以是常量、变量或表达式,可以有一个或多个,参数之间用逗号分隔。每个函数被调用时,都会有一个返回值。根据函数的不同,参数与返回值都有特定的数据类型与之对应。,9.3 内置函数,1常用算术函数 算术函数主要包括:求绝对值、取整、产生随机数等。,9.3.1 算术函数,2随机函数关于随机函数说明如下:(1)若x0,每次产生不同的随机数。x0时可直接写Rnd,省略括号和参数。(2)若x=0,产生与最近随机数相同的数。(3)若x0,先产生一个不同的随机数,以后每次产生与前一个相同的数。,9.3.1 算术函数,3函数验证用立即窗口验证下列表达式:?int(100*Rnd)产生099之间的随机整数。?int(101*Rnd)产生0100之间的随机整数。?int(100*Rnd+1)产生1100之间的随机整数。?int(101*Rnd+100)产生100200之间的随机整数。,9.3.1 算术函数,9.3.2 字符串函数,字符串函数主要包括:求字符串长度、求子字符串、测定子字符串位置等。1常用字符串函数,9.3.2 字符串函数,1常用字符串函数,9.3.2 字符串函数,2instr()函数格式:instr(起始位置,字串1,字串2,比较方式)功能:返回字串2在字串1中最早出现的位置。说明:(1)返回值是一个整数。如果返回值为0,说明字符串2不在字符串1中。(2)起始位置是可选项,默认从第一个字符开始检索。(3)比较方式是可选项,0:按区分大小写比较;1:按不区分大小写比较;1:是默认值。,9.3.2 字符串函数,3函数验证?ucase(abcdABCD)返回“ABCDABCD”。?lcase(abcdABCD)返回“abcdabcd”。?trim(AB CD)返回“AB CD”,只处理两端空格,中间空格不做处理。?len(2010年计算机等级考试)返回12,一个汉字当作一个字符。x=123 回车后把123赋给变量x。?Len(x)返回3,len函数可以返回数字变量所含的数字个数。?instr(1,abcABC,A,0)返回4,按区分大小写比较。?instr(1,abcABC,A,1)返回1,按不区分大小写比较。?instr(“abcABC”,A)返回1,使用默认值。,1常用日期时间函数,9.3.3 日期时间函数,2weekday()函数格式:weekday(x,n)功能:返回17的整数,表示星期几。说明:(1)x是日期数据,n为可选项,默认1。(2)若n为1,星期天返回1,星期一返回2,依次类推。若n为2,星期一返回1,星期二返回2,依次类推。3函数验证?weekday(date,2)如果当前是星期二,返回数字2。,9.3.3 日期时间函数,1常用转换函数,9.3.4 转换函数,2函数验证?asc(ABC)返回65,大写字母A的ASCII码是65。?asc(a)返回97,小写字母a的ASCII码是97。?asc(“0”)返回48,字符0的ASCII码是48。?chr(66)返回大写字母B。?chr(50)返回数字字符2。?str(12)+str(34)返回字符串“12 34”,12和34前均有一个空格,字符串长度6。?val(12)+val(34)返回数值46。?val(1 2)返回数值12。?val(12ab34)返回数值12。,9.3.4 转换函数,9.3.5 输入函数与输出函数,1输入函数inputbox格式:inputbox(提示信息,标题,默认值)功能:提示用户输入一个字符串或数值。说明:(1)“提示信息”是一个字符串,显示在对话框窗口中,必选项。(2)“标题”是一个字符串,显示在对话框窗口标题栏中,可选项,省略此项,标题栏将显示应用程序名。(3)默认值可以是字串或数字,可选项,指定的默认值显示在对话框的输入框中。(4)函数返回值是在输入框中输入的数字或字符串,返回值的类型为string。,9.3.5 输入函数与输出函数,2输出函数MsgBox 格式:msgbox(信息,按钮+图标,标题)功能:显示一个消息框。说明:(1)“信息”是一个字符串,显示在消息框中,必选项,最大长度为 1024 个字符,可以用Chr(13)(回车)或Chr(10)(换行)将消息框中字符串分行显示。(2)格式中的“按钮”是一个数字或VB符号常量,用来定义消息框中按钮个数和按钮作用,可选项,默认值为0。,9.3.5 输入函数与输出函数,(3)格式中的“图标”是一个数字或VB符号常量,配合消息显示在消息框中,起警示作用,可选项。,9.3.5 输入函数与输出函数,说明:“按钮+图标”项可以在输入代码时从提示框中选取系统提供的vb符号常量。例如:MsgBox 要退出吗?,vbYesNo+vbQuestion,确认,代码使用vb符号常量定义消息框的按钮和图标,显示结果,(4)“标题”是一个字符串,可选项,省略此项,标题栏显示应用程序名。(5)函数返回值是整数或vb符号常量,反映了用户在消息框中单击的按钮.,9.3.5 输入函数与输出函数,输入输出函数的使用 例9-4:用输入函数输入数据,用输出函数显示相加的结果。(1)新建窗体win9-4。(2)窗体中建立2个命令按钮“标题”分别为:c1、c2“名称”分别为:c1、c2。(3)按钮c1的click事件代码如下:a=InputBox(请输入 a=)a是变体类型 b=InputBox(请输入 b=)b是变体类型 c=MsgBox(“表达式a+b=&a+b,1+64,输出框),9.3.5 输入函数与输出函数,(4)按钮c2的click事件代码如下:Dim a as integer,b as integer a=InputBox(请输入 a=)a是整型 b=InputBox(请输入 b=)b是整型 c=MsgBox(“表达式a+b=&a+b,1+64,输出框)(5)转到窗体视图单击命令按钮c1第1个输入框中输入6【确定】第2个输入框中输入3【确定】。(6)显示第1个消息框,信息为:a+b=63,这是字符相连,9.3.5 输入函数与输出函数,(7)单击【取消】按钮显示第2个消息框,信息是前一个消息框单击按钮的返回值,因为单击了【取消】按钮,返回值是2。,(8)单击命令按钮c2第1个输入框中输入6【确定】第2个输入框中输入3【确定】显示消息框,信息为:a+b=9,这是数字相加。,9.3.6 聚合函数,聚合函数包括:Dcount、Davg、Dsum、Dmax、Dmin、Dlookup,用来显示非数据源的信息,聚合函数也可以在代码中使用。例9-5:建立有2个文本框的窗体,第1个文本框输入数据,第2个文本框显示用DLookup 函数检索的相应值。(1)新建窗体win9-5。(2)用数据表视图打开“课程”表。(3)建立2个文本框“名称”分别为:t1、t2附加标签的“标题”分别为:输出课程名(101-105)、课程名。,9.3.6 聚合函数,(4)建立命令按钮“标题”为:确定“名称”为:c1。(5)命令按钮c1的click事件代码如下:t2=DLookup(课程名,课程,课程编号=t1)(6)转到窗体视图在文本框t1中输入103单击【确定】课程名显示在文本框t2中。,9.3.7 Nz函数,Nz函数可以将Null值转换为数字0、空字串或自定义的返回值,用来测试可能包含 Null 值的表达式。格式:Nz(变量/表达式/字段属性名,指定值)说明:(1)若被Nz函数测试的数据不为空,函数原样返回数据值。(2)若被Nz函数测试的数据为空,数字型数据返回0,字符串型数据返回空串。(3)若设置了指定值,并且被测试的数据为空,函数返回指定值,是可选项。,例9-6:建立有1个文本框的窗体,用Nz函数测试文本框的值。(1)新建窗体win9-6。(2)窗体中建立文本框“名称”为:t1附加标签的“标题”为:输入姓名。(3)窗体中建立命令按钮“标题”为:确定“名称”为:c1。(4)按钮c1的click事件代码如下:Dim aa As String aa=Nz(t1.Value,姓名不能为空!)MsgBox aa&你好!,9.3.7 Nz函数,(5)转到窗体视图,文本框空着,单击命令按钮,结果:,9.3.7 Nz函数,(6)在文本框输入字串“张国华”,单击命令按钮,显示结果:,9.4 面向对象程序设计基本概念,9.4.1 基本概念,(1)对象在自然界中,一个对象就是一个实体,如一辆汽车就是一个对象。在面向对象的程序设计中,对象代表应用程序中的元素,如表、窗体、按钮等。(2)类类是某种类型对象的原型。Access数据库窗口左边的7个类对象:表、查询、窗体、报表、页、宏、模块,应该准确的称为7个对象类。,9.4.1 基本概念,(3)属性属性是对象的特征。如汽车有颜色和型号属性,按钮有标题和名称属性。在面向对象的程序设计,如果在“属性”窗口给对象定义属性,称为属性的静态设置。如果用代码给对象设置属性,称为属性的动态设置。用代码给对象设置属性的格式:对象名.属性名=属性值用代码引用对象属性的格式:对象名.属性名例如:c1.forecolor=vbRed 将命令按钮c1的前景色设置为红色。Msgbox me.caption 显示当前窗体的标题。,(4)事件 事件是对象能够识别的动作。如按钮可以识别单击事件、双击事件等。在类模块每一个过程的开始行,都显示对象名和事件名。如:Private Sub c1_Click()。(5)方法 方法是对象能够执行的动作,决定了对象能完成什么事。不同对象有不同的方法。如close方法能关闭一个窗体。,9.4.1 基本概念,1键盘事件过程键盘事件是指当用户在窗体或控件获得焦点的情况下,按下键盘时(或者使用SendKeys 操作或语句发送击键信息)所发生的事件。2鼠标事件过程鼠标事件是指当用户在窗体或控件获得焦点的情况下,操作鼠标时所引发的事件。鼠标事件包含6个,最常用的是单击事件(Click)和双击事件(DblClick)。,9.4.2 常用事件过程,3窗体事件过程窗体事件使用户打开或关闭一个窗体时所触发的事件。Open:在窗体已经打开,但第一条记录尚未显示时,触发Open事件。Load:窗体打开且显示器中的记录时触发Load事件。Open事件与Load事件之间的显著差别是:Open事件能被取消,而Load事件不能被取消。例如,如果在一个事件过程中窗体的Open事件动态地创建窗体的记录源,尚无记录可显示,则可取消窗体的打开操作。Close:当窗体被关闭并从屏幕消失时,触发Close事件。Unload事件能够被取消,但Close事件却不能。,9.4.2 常用事件过程,9.4.3 用代码设置窗体属性和事件,1关键字MeMe是VBA编程中使用频率很高的关键字,Me是“包含这段代码的对象”的简称,可以代表当前对象。在类模块中,Me代表当前窗体或当前报表。例如:=“生信息一览表”-定义窗体中标签Lab的caption属性。,9.4.3 用代码设置窗体属性和事件,2用代码设置窗体属性 主要包括:窗体标题、窗体数据源、背景图片等属性。例9-7:窗体中建立文本框t1和命令按钮c1,单击命令按钮完成以下3件事:(1)使窗体标题显示当前日期。(2)在窗体中插入背景图片。(3)设置窗体的数据源为“学生信息”表,将第一条记录的姓名显示在t1中。,9.4.3 用代码设置窗体属性和事件,(1)新建窗体win7。(2)窗体中建立文本框t1命令按钮c1命令按钮标题为:设置。(3)右击命令按钮c1【事件生成器】【代码生成器】【确定】。(4)c1的click事件过程代码如下:Private Sub c1_Click()Me.Caption=Date()Me.Picture=CurrentProject.Path+a1.bmp Me.RecordSource=学生信息 t1=姓名 End sub(5)转到窗体视图单击命令按钮,显示结果。,9.4.3 用代码设置窗体属性和事件,3用代码设置窗体事件常用窗体事件:(1)打开窗体会依次发生的事件:open(打开)load(加载)。(2)关闭窗体会依次发生的事件:unload(卸载)close(关闭)。,9.4.3 用代码设置窗体属性和事件,例9-8:给窗体4个事件写代码,观查窗体事件的发生顺序。(1)新建窗体“事件顺序”。(2)打开【属性】窗口对象框选【窗体】单击【事件】卡。(3)事件选:打开过程代码:MsgBox 这是open事件!。(4)事件选:加载过程代码:MsgBox 这是load事件!。(5)事件选:卸载过程代码:MsgBox 这是unload事件!。(6)事件选:关闭过程代码:MsgBox 这是close事件!。,(7)转到窗体视图,打开窗体时先发生open事件,再发生load事件。关闭窗体时先发生unload事件,再发生close事件。,Docmd是Access的一个特殊对象,用来调用内置方法,在程序中实现对Access的操作,诸如打开窗口、关闭窗体、打开报表、关闭报表等。DoCmd 对象的大多数方法都有参数,有些参数是必需的,有些则是可选的。若省略可选参数,参数将采用默认值。,9.4.4 Docmd对象,(1)用DoCmd 对象打开窗体 格式:DoCmd.OpenForm 窗体名 功能:用默认形式打开指定窗体。例如:DoCmd.OpenForm 文本框练习,(2)用DoCmd 对象关闭窗体 格式1:DoCmd.Close acForm,窗体名 功能:关闭指定窗体。例如:DoCmd.Close acForm,文本框练习 格式2:DoCmd.Close 功能:关闭当前窗体。(3)用DoCmd 对象打开报表 格式:DoCmd.OpenReport 报表名,acViewPreview 功能:用预览形式打开指定报表。例如:DoCmd.OpenReport 工资报表,acViewPreview,9.4.4 Docmd对象,(4)用DoCmd 对象关闭报表 格式1:DoCmd.Close acReport,报表名 功能:关闭指定报表。例如:DoCmd.Close acReport,工资报表 格式2:DoCmd.Close 功能:关闭当前报表。,9.4.4 Docmd对象,(5)用DoCmd 对象运行宏 格式:DoCmd.RunMacro 宏名 功能:运行指定宏。例如:DoCmd.RunMacro 宏1(6)用DoCmd 对象退出Access。格式:DoCmd.Quit 功能:关闭所有Access对象和Access本身。,9.4.4 Docmd对象,例9-9:新建窗体,窗体中建立6个命令按钮,单击按钮打开和关闭指定窗体、打开和关闭指定报表、退出窗体、退出Access。(1)新建窗体win9-9。(2)在窗体中建立6个命令按钮“名称”分别为:c1c6“标题”分别为:打开窗体win9-1、关闭窗体win9-1、打开排序报表、关闭排序报表、退出当前窗体、退出Access。,9.4.4 Docmd对象,(3)按钮c1的click事件代码如下:DoCmd.OpenForm win9-1(4)按钮c2的click事件代码如下:DoCmd.Close acForm,win9-1(5)按钮c3的click事件代码如下:DoCmd.OpenReport 排序,acViewPreview(6)按钮c4的click事件代码如下:DoCmd.Close acReport,排序(7)按钮c5的click事件代码如下:DoCmd.Close(8)按钮c6的click事件代码如下:DoCmd.Quit,9.4.4 Docmd对象,9.5 程序结构及程序控制语句,9.5.1 VBA程序结构1语句和程序语句:是一条能完成某项操作的命令,语句中可以包含关键字、运算符、变量、常量和表达式。语句按功能分为2类:声明语句和执行语句。(1)声明语句用来定义变量、符号常量等。(2)执行语句用来给变量赋值、实现各种流程控制、调用过程等。,9.5.1 VBA程序结构,程序:是语句的集合,告诉计算机要完成的任务,程序的执行顺序由程序结构决定,程序有3种结构:顺序、选择、循环。(1)顺序结构,按语句排列顺序依次执行语句代码。(2)选择结构,又称为条件结构,根据条件成立与否选择执行不同的语句代码。(3)循环结构,重复执行某段程序代码。,2声明语句声明语句用来定义符号常量、变量、数组和过程等的语句。定义的同时也包括了初始化值、生命周期、作用域的设置等内容。例如:dim a as integer,9.5.1 VBA程序结构,3赋值语句赋值语句是程序设计中最常用的执行语句,用来给变量指定一个值。格式:变量名=表达式功能:将表达式的值赋给变量。例如:a=12,b=a+86,9.5.1 VBA程序结构,3赋值语句说明:(1)赋值号“=”与数学的等号意义不同。例如,语句a=a+1的功能是将变量a的当前值加1后赋给变量a。(2)赋值号左边只能是变量名,不能是常量和表达式。(3)赋值语句有计算功能,对表达式先计算后赋值。(4)赋值号两边的数据类型要匹配。例如,表达式a%=abc 返回错误提示,因为该操作把字符串赋给整型变量。,9.5.1 VBA程序结构,4注释语句 注释语句是非执行语句,用来提高程序的可读性,不被解释和编译。注释语句显示为绿色。格式1:rem 注释内容说明:用rem引导的注释语句,如果放在其他语句后面,之间用冒号分隔。格式2:注释内容说明:用单引号引导的注释语句,放在其他语句后面时无需使用冒号分隔。,9.5.1 VBA程序结构,例如:dim a1 as integer,a2 as integer:rem 定义两个整型变量 a1=12 给两个变量赋值 a2=34 a1=a1+a2 将两个变量的和赋给变量a1 rem 用消息框显示结果 msgbox a1+a2=&a1,vbInformation,消息框,9.5.1 VBA程序结构,5语句书写规则(1)一条语句一行写不下时,用续行符“_”作为第一行结尾,将剩余语句写在下一行。(2)语句较短时可以几条语句写在一行,语句之间用冒号分隔。(3)如果一行语句输入完成后显示为红色,表示该语句存在错误。(4)尽量使用提示信息。(5)代码不区分大小写。,9.5.1 VBA程序结构,6程序的缩进格式 用缩进格式书写的程序能清楚的显示程序结构,不仅帮助阅读程序,而且有利于程序维护。例如:Rem 下面的代码定义文本框t1的前景色和背景色 Private Sub c1_Click()c1是命令按钮 t1.BackColor=vbYellow 定义t1的背景色为黄色 t1.ForeColor=vbRed 定义t1的前景色为红色 End sub,9.5.1 VBA程序结构,7 使用提示与帮助在“代码”窗口输入代码时,凡是系统对象和数据库中定义的对象,在输入了对象名称和点运算符以后,系统会自动显示信息列表。,9.5.1 VBA程序结构,将光标置于某个语句命令上,按F1键,或单击标准工具栏的【帮助】按钮,系统会显示关于与该语句命令的帮助信息。,可以用立即窗口显示或计算变量值、函数值和表达式的值。?与print语句相同,在立即窗口显示计算结果。例9-10:在立即窗口计算表达式的结果。(1)单击【模块】对象【新建】,进入VBE界面。(2)【视图】菜单【立即窗口】,显示立即窗口。(3)输入表达式:?cint(true)回车,显示结果:-1。(4)输入表达式:print falsetrue回车,显示结果:true(5)输入表达式:?cbool(5)+cbool(true)回车,显示结果:-2。,8.使用立即窗口,9.5.2 顺序结构程序设计,顺序结构就是按语句出现的先后依次执行。顺序结构的语句主要是赋值语句和输入/输出语句等。【例9-11】顺序结构程序要求:建立窗体,输入基本工资和本月的营业额,计算实发工资。实发工资等于基本工资+本月营业额的提成费,提成费等于本月营业额的5%。操作步骤:(1)打开“学生管理系统.mdb”新建窗体win9-11设置“记录选择器”、“导航按钮”、“分隔线”均不显示。,9.5.2 顺序结构程序设计,(2)建立1个标签“名称”为:b1“标题”:为:计算月实发工资。(3)建立1个命令按钮“标题“为:本月实发工资“名称”为:c1。(4)按钮c1的click事件代码如下:Dim jbgz,sfgz,yyg as Single Jbgz=val(inputbox(“请输入基本工资”,“计算实发工资”,300)Yyg=val(inputbox(“请输入本月营业额”,“本月营业额”)Sfgz=jbgz+yyg*5%Msgbox(“实发工资为:”,sfgz)(6)转到窗体视图输入信息框分别输入:1000、20000单击命令按钮,结果显示如图所示。,9.5.3 选择结构程序设计,能实现选择结构的语句包括:if-then语句、if-then-else语句、if-then-elseif语句、select case语句。1.if-then语句 格式1:if 条件 then 语句序列格式2:if 条件 then 语句序列 end if功能:若条件成立,执行语句序列,否则,什么也不做。说明:(1)如果语句写在一行,可省略end if语句。(2)如果语句不同行,则end if语句不可省略。,例如:rem 输出两个数据中的最大数 dim a as integer,b as integer a=12:b=8 if ab then a=b msgbox 最大值为:&a,vbInformation,消息框,或者:dim a as integer,b as integer a=12 b=8 if ab then a=b end if msgbox 最大值为:&a,vbInformation,消息框,1.if-then语句,例9-12:建立窗体,在3个文本框输入数值,数值从小到大排序,显示在3个标签中。(1)新建窗体win17。(2)建立3个文本框水平排列“名称”分别为:t1t3删除附加标签文本框上方建立标签标签“标题”为:输入3个数字。(3)建立3个标签水平排列“名称”分别为:b1b3“标题:分别为:b1b3。(4)建立命令按钮“标题“为:从小到大排序”名称“为:c1。,1.if-then语句,(5)按钮c1的click事件代码如下:Dim a As Integer,b As Integer,c As Integer,t As Integer a=t1:b=t2:c=t3 If a b Then t=a:a=b:b=t If a c Then t=a:a=c:c=t If b c Then t=b:b=c:c=t b1.Caption=a b2.Caption=b b3.Caption=c(6)转到窗体视图文本框分别输入:7、9、3单击命令按钮标签显示:3、7、9,结果:,1.if-then语句,格式:if 条件 then 语句序列1 else 语句序列2 end if 功能:若条件成立,执行语句序列1,否则,执行语句序列2。,2.if-then-else语句,【例9-13】在文本框中输入包裹重量,用标签显示计算出来的包裹运输费。收费方法:重量小于等于30公斤的,每公斤收费0.5元,超过30公斤时,超出部分每公斤0.8元。操作步骤:(1)打开“学生管理系统.mdb”新建窗体win9-13设置“记录选择器”、“导航按钮”、“分隔线”均不显示。(2)建立3个标签“标题”分别是:计算包裹运输费、运费、00“名称”为:b1、b2和b3。(3)建立文本框附加标签为:包裹重量“名称”为:t1。(4)建立1个命令按钮“标题”分别为:计算“名称”分别为:c1。,2.if-then-else语句,(5)“计算”命令按钮c1的cli

    注意事项

    本文(模块的设计与使用.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开