ImageVerifierCode 换一换
格式:PPTX , 页数:73 ,大小:6.14MB ,
资源ID:8916096      下载积分:16 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/8916096.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(access第8章VBA程序设计.pptx)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

access第8章VBA程序设计.pptx

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,第,8,章,模块与,VBA,编程,本章内容,8.1,模块概述,8.2 VBA,编程环境,8.3,面向对象程序设计,8.4 VBA,编程语言基础,8.5 VBA,程序流程控制语句,8.6 VBA,过程调用与参数传递,8.7 VBA,程序调试,8.1,模 块 概 述,模块是,Access,数据库中的一个数据库对象,它以,VBA(Visual Basic for Application),语言为基础编写。,8.1.1,模块的类型,类模块,可以,包含新对象的定义的模块。一个类的每个实例都新建一个对象。,窗体,模块和

2、报表模块都是类模块。,Access,有两种类型的模块:类模块和标准模块,。,标准模块,简称“模块”。,大多数模块都是标准模块,其中包含的代码和特定的数据库对象并无关联,当数据库中对象被移动时,模块还在原数据库中不动。,8.1.2,将宏转换为模块,转换,窗体或报表中的宏,将,窗体或报表引用的任意宏转换为,VBA,代码,并向窗体或报表的类模块中添加该代码。该类模块将成为窗体或报表的组成部分,并且如果窗体或报表被移动或复制时,它也随之改变,。,例,8-1,将“打开学生表”窗体中的宏转换为,模块,。,转换全局宏,例,8-2,将“打开学生表”全局宏转换成,VBA,代码。操作步骤如下:,8.1.3,模块的

3、结构,模块,声明部分,可以,在这部分定义变量、常量、自定义类型和外部过程。在模块中,声明部分与过程部分是分割开来的,声明部分中设定的常量和变量是全局性的,可以被模块中的所有过程调用。,过程,定义部分,这,是一种自动执行的过程,用来对用户或程序代码启动的事件或系统触发的事件做出响应。类模块中的过程大部分是事件过程,也可以包含仅供本模块调用的过程和函数。标准模块中的过程和函数均为通用过程,可以供本模块或其他模块中的语句调用。,8.2 VBA,编程环境,在,Access,中,,VBA,程序是使用,VB,编辑器,(Visual Basic Editor,,,VBE),编写的。,VBE,是编辑、编译、运

4、行、调试,VBA,代码的集成环境。,8.2.1,打开,VBE,窗口,启动,VBE,的方法:,在数据库中,单击“数据库工具”选项卡“宏”选项组中的,Visual Basic,按钮。,在数据库中,单击“创建”选项卡“宏与代码”选项组中的,Visual Basic,按钮。,创建新的标准模块。单击“创建”选项卡“宏与代码”选项组中的“模块”按钮,就在,VBE,编辑器中创建一个空白模块。,如果已有一个标准模块。在“导航窗格”窗口选择“模块”对象列表中的该模块,就会打开,VBE,窗口并显示该模块的内容。,在窗体、报表的设计视图中,右击控件对象,再选择快捷菜单上的“事件生成器”命令,打开“选择生成器”对话框

5、选择其中的“代码生成器”选项,单击“确定”按钮。,8.2.2 VBE,窗口,8.3,面向对象程序设计,属性,方法,事件,VBA,程序设计是一种面向对象的程序设计。面向对象程序设计是一种系统化的程序设计方法,它基于对象模型,采用面向对象的程序设计语言编程实现。,事件过程,8.3.1,属性,属性,是对象所具有的性质特征,。窗体,设计中,,通过,“属性表”对所选对象的属性进行可视化设置,这种设置属性的方式成为,静态设置,。也可以通过编写代码的方式设置对象的属性,在,VBA,代码中设置属性的方式称为,动态设置,。,8.3.1,属性,1.,对象属性的代码表示方法,在,代码中引用控件对象属性的引用格式是

6、对象,名,.,属性名,=,属性值,说明,:,Me,是,VBA,编程中使用频率较高的关键字,,Me,是“包含这段代码的对象”的简称,可以代表当前对象。在类模块中,,Me,代表当前窗体或当前报表。,在,VBA,代码中可以使用,Form,表示当前窗体。,若,省略,,则表示引用的是当前窗体中的对象。,属性,名必须使用英文字符表示。,8.3.1,属性,2.,常用,控件对象的属性,属性标识,功能,使用举例,Name,唯一标识每个对象,Caption,窗体标题栏上的内容,控件上的标题内容,Label1.caption=,计算,Cancel,指定命令按钮是否是窗体上的“取消”按钮,Default,指定命令

7、按钮是否是窗体上的“默认”按钮,Enabled,用于设置对象是否可用,如果值为,False,为灰色不可用,Command1.enabed=false,Visible,用于设置对象是否可见,如果值为,False,为不会显示,Command1.visible=false,Fontbold,设置字体是否加粗,如果为,True,字体加粗,Label1.fontbold=true,Fontname,设置字体名,Text1.fontname=”,隶书,”,Fontsize,字体的大小值,Label1.fontsize=20,Forecolor,标题的颜色,Text1.forecolor=RGB(0,0,2

8、55),TabIndex,在窗体中,Tab,键次序中的位置,Left,控件左上角距窗体左边界的距离,Label1.left=20,Top,控件左上角距窗体上边界的距离,Text1.top=10,Width,控件的宽度,Label1.width=20,Height,控件的高度,Label1.width=30,Value,文本框中的内容,Text1.value=100,text,设置文本框中显示的文本,(,要求文本框先获得焦点,),Text1.text=100,8.3.2,方法,对象,的方法是对象可以执行的行为。如果说,对象的属性是静态规格,那么对象的方法便是动态操作。每个对象都有自己的若干方法,

9、从而构成该对象的方法集。可以把方法理解为内部函数,可以用来完成改变对象的,当前,状态某种特定的功能,。,1.,对象方法的引用,方式,:,对象名,.,方法名,2.SetFocus,方法,:,使,对象获得焦点,只有获得焦点的控件才是当前操作的对象,。,3.DoCmd,对象,方法,:,它的主要功能是通过调用包含在内部的方法实现,VBA,编程中对,Access,的操作,。,8.3.3,事件,事件,是,Access,预先定义好的,能被对象识别的动作。事件作用于对象,对象识别事件并做出相应的反应,如单击事件,(Click),、双击事件,(DblClick),、移动鼠标事件,(MouseMove),等都能引

10、起对象做出操作。,事件,是固定的,由系统定义好的,用户不能定义新的事件,只能引用。,8.3.3,事件,1.,窗体对象事件,事件动作,动作说明,Load,窗体加载时发生事件,UnLoad,窗体卸载时发生事件,Open,窗体打开时发生事件,Clase,窗体关闭时发生事件,Click,窗体单击时发生事件,DblClick,窗体双击时发生事件,MouseDown,窗体鼠标按下时发生事件,KeyPress,窗体上键盘按键时发生事件,KeyDown,窗体上键盘按下键时发生事件,8.3.3,事件,1.,窗体对象事件,事件动作,动作说明,Load,窗体加载时发生事件,UnLoad,窗体卸载时发生事件,Open

11、窗体打开时发生事件,Clase,窗体关闭时发生事件,Click,窗体单击时发生事件,DblClick,窗体双击时发生事件,MouseDown,窗体鼠标按下时发生事件,KeyPress,窗体上键盘按键时发生事件,KeyDown,窗体上键盘按下键时发生事件,当窗体首次打开时,依次触发了下列事件,顺序是:,打开,(Open),加载,(Load),调整大小,(Resize),激活,(Activate),成为当前,(Current),。,关闭,窗体时事件触发顺序:,卸载,(Unload),停用,(Deactivate),关闭,(Close),。,8.3.3,事件,2.,报表对象事件,事件动作,动作说明

12、Open,报表打开时发生事件,Close,报表关闭时发生事件,3.,命令按钮控件,事件,事件动作,动作说明,Click,按钮单击时发生事件,DblClick,按钮双击时发生事件,Enter,按钮获得输入焦点之前发生事件,GetFocus,按钮获得输入焦点时发生事件,MouseDown,按钮上鼠标按下时发生事件,KeyPress,按钮上键盘按键时发生事件,KeyDown,按钮上键盘按下键时发生事件,8.3.3,事件,4.,标签控件事件,5.,文本框控件事件,事件动作,动作说明,Click,标签单击时发生事件,DblClick,标签双击时发生事件,MouseDown,标签上鼠标按下时发生事件,事

13、件动作,动作说明,AfterUpdate,文本框内容更新后发生事件,Enter,文本框获得输入焦点之前或拥有输入焦点之后按回车时发生事件,GetFocus,文本框获得输入焦点时发生事件,LostFocus,文本框失去输入焦点时发生事件,Change,文本框内容更新时发生事件,KeyPress,文本框内键盘按键时发生事件,MouseDown,文本框内鼠标按下时发生事件,事件动作,动作说明,BeforeUpdate,文本框内容更新前发生事件,8.3.4,事件,过程,在,Access,的程序设计中,需要从对象属性和事件方法两个方面进行设计,其中事件响应可以通过“宏”操作,也可以通过编写某个事件过程代

14、码,由程序来完成指定操作。,事件过程用来识别对象的激发,存在于对象模块中,当事件被激发时事件过程就自动执行。,对象事件过程的编写方法是进入,VBE,代码编辑窗口,进行代码编写。,8.3.4,事件,过程,在,Access,的程序设计中,需要从对象属性和事件方法两个方面进行设计,其中事件响应可以通过“宏”操作,也可以通过编写某个事件过程代码,由程序来完成指定操作。,事件过程用来识别对象的激发,存在于对象模块中,当事件被激发时事件过程就自动执行。,对象事件过程的编写方法是进入,VBE,代码编辑窗口,进行代码编写。,8.3.4,事件,过程,1.,代码编写方法,进入对象代码生成器的方法有以下,3,种:,

15、在,窗体、报表的设计视图中,右击控件对象,选择,如,下图,所,示快捷菜单上的“事件生成器”命令,就会,出现代码,编辑器。,对象,的快捷菜单,“代码生成器”,窗口,8.3.4,事件,过程,1.,代码编写方法,如果,是对该对象的第一次操作,将出现,如,下,图所,示的“选择生成器”对话框。选择“代码生成器”后单击“确定”按钮。也会进入代码编辑器窗口。,8.3.4,事件,过程,1.,代码编写方法,选择控件对象,单击属性窗口的“事件”选项卡,选中某个事件并单击属性栏右边的省略号按钮,也可以打开“选择生成器”对话框,选择其中的“代码生成器”选项,单击“确定”按钮。,命令按钮,Command1,的,Clic

16、k,事件过程名为“,Command1_Click,”。该子程序就是处理该事件的程序,称为事件过程,一般格式如下:,Private Sub,对象名,_,事件名,(,参数表,),(,事件过程代码,),End Sub,8.3.4,事件,过程,2.,案例,创建,如,图所,示的名为“计算球体体积”窗体,窗体上有文本框,text1,和,text2,,标签,label1,和,label2,,两个命令按钮,command1(,计算,),和,command2(,退出,),,窗体实现在,text1,中输入一个数据,单击命令按钮,command1,时,在,text2,里显示以其为半径的球体体积,。,命令按钮,com

17、mand1(,计算,),的事件代码如下:,Private,Sub Command1_Click(),r=Text1.Value,v=(4/3)*3.14*r 3,Text2.Value=v,End Sub,8.4 VBA,编程语言,基础,8.4.1,数据类型,数据类型,类型关键字,类型符,存储空间,取值范围,整型,Integer,%,2,-32768,32767,长整型,Long,&,4,-2147483648,2147483647,单精度浮点型,Single,!,4,负数:,-3.402823E38,-1.401298E-45,正数:,1.401298E-45,3.402823E38,双精度

18、浮点型,Double,#,8,负数:,-1.79769313486232E308,-4.94065645841247E-324,正数:,4.94065645841247E-324,1.79769313486232E308,8.4 VBA,编程语言,基础,8.4.1,数据类型,数据类型,类型关键字,类型符,存储空间,取值范围,货币型,Currency,8,-922337203685477.5808,922337203685477.5807,日期型,Date,无,8,100,年,1,月,1,日,9999,年,12,月,31,日,字符型,String,$,暂不定,0,字符,65400,个字符,字节型

19、Byte,无,1,0,255,逻辑型,Boolean,无,2,True,或,False,对象型,Object,无,4,任何引用的对象,变体型,Variant,无,暂不定,数字和双精度相同;文本和字符串相同,8.4.2,常量,1.,直接,常量,不同类型的直接常量有不同的表示方法,使用时应遵循相应的规则,常用的表示方法如下:,(1),数值型:十进制整数由数字,09,和正、负号组成,实数可采用小数表示形式或科学记数表示形式。科学计数法用,E,表示,10,的乘幂。如:,123,、,-489,、,2.34E-3,。,(2),字符型:字符串常量是一个用双引号括起来的字符序列。在字符串中,字母的大小写是有

20、区别的。如:,abc,、,吉林财经,。,(3),布尔型:有,True,和,False,两个值。,(4),日期型:以字面上可被认作日期和时间的字符并用一对“,#,”括起来表示。如:,#2015-11-25#,。,8.4.2,常量,2.,符号常量,符号,常量是用标识符来表示某个常量,用户一旦定义了符号常量,在以后的程序中不能用赋值语句来改变它们的值,否则,在运行程序时将出现错误。,标识符,是用来表示用户所定义的常量、变量、过程、函数等程序要素的符号。在,VBA,中,标识符的命名必须是以字母或汉字开头,且只能由汉字、字母,(az,或,AZ),、数字,(09),或下划线,(_),所组成,其最大长度为,

21、255,个字符。此外,不能使用,VBA,的关键字作为标识符,标识符不区分大小写。,在,VBA,中声明常量的语句格式如下:,Const,常量名,As,数据类型,|,类型符,=,表达式,常量名,As,数据类型,|,类型符,=,表达式,8.4.2,常量,3.,系统常量,系统,常量是,Access,系统内部包含有若干个启动时就建立的系统常量,有,True,、,False,、,Yes,、,No,、,On,、,Off,和,Null,等。编码时可以直接使用。,4,.,固有常量,VBA,提供的一些预定义的内部符号常量,通过前两个字母来指明定义该常量的对象库。来自,Access,的常量以“,ac,”开头,来自,

22、VB,库的常量则以“,vb,”开头,来自,ADO,库的常量以“,ad,”开头。如:,acForm,、,adAddNew,、,vbCurrency,。,8.4.3,变量,变量,是指在程序运行过程期间其值可以变化的量。在,VBA,代码中声明和使用指定的变量来存储值、计算结果或操作数据库中的任意对象。一个变量有,3,个要素:变量名、数据类型和变量值。在,VBA,代码中,通过变量名来引用变量。,1.,变量的命名,变量命名时应遵循以下准则:,(1),变量名必须以英文字母开头,可以包含字母、数字或下划线字符“,_,”,(2),变量名不能包含空格、句点等字符。,(3),变量名的长度不能超过,255,个字符,

23、且变量名不区分大小写。,(4),不能在某一范围内的相同层次中使用重复的变量名。,(5),变量的名字不能是,VBA,的关键字,如,For,、,To,、,Next,、,If,等。,如,a1,、,b_1,、,sa,等可以作为变量名,,1a,、,b.1,、,x-1,等不能作为变量名。,8.4.3,变量,2.,变量的,声明,声明,变量有两个作用,一是指定变量的数据类型,二是指定变量的作用范围。如果在程序中没有明确声明变量,,VBA,会默认将它声明为,Variant,数据类型,。,(,1),显式声明变量,显式声明变量要使用,Dim,语句,,Dim,语句的格式为:,Dim,变量名,As,数据类型,|,类型符

24、变量名,As,数据类型,|,类型符,8.4.3,变量,2.,变量的,声明,(2),隐式声明变量,隐,式变量是指没有直接定义,借助将一个值指定给变量名的方式建立的变量。当在变量名称后没有附加类型符来指明隐含变量的类型时,默认为变体类型,。,(,3),变量的强制声明,在,VBA,中可以强制要求在过程中使用变量前必须进行声明,方法如下:,方法一:在模块通用声明部分中包含一个,Option Explicit,语句,它要求在模块级别中强制对模块中所有使用的变量显式声明。,方法二:在,VBE,窗口中,选择“工具”菜单“选项”命令,打开“选项”对话框。在“编辑器”选项卡下,选择“代码设置”栏中的“要求变量

25、声明”,复选框,。,8.4.4,数组,1.,定义一维数组,(1),格式,1,Dim (to )As,例如:,Dim y(1 to 5)As Integer,。,该语句声明数组变量为,y,,该数组元素从,y(1),y(5),共有,5,个元素。,(2),格式,2,Dim ()As,例如:,Dim x(5)As Integer,。,声明数组变量为,x,,该数组元素从,x(0),x(5),共有,6,个元素。,8.4.4,数组,2.,定义多维数组,格式:,Dim(,)As,例如,:,Dim b(1 to 3,3 to 5)as Integer,。,定义,二维数组,每个元素都为整型,行下标下界为,1,,上

26、界为,3,,共,3,行,列下标下界为,3,,上界为,5,共,3,列,该数组共,3*3=9,个元素,各元素分别表示为:,b(1,3),、,b(1,4),、,b(1,5),、,b(2,3),、,b(2,4),、,b(2,5),、,b(3,3),、,b(3,4),、,b(3,5),。,例如:,Dim,C(3,1 to 3)as Integer,定义二维数组,每个元素都为整型,行下标下界为,0,,上界为,3,,共,4,行,列下标下界为,1,,上界为,3,共,3,列,该数组共,4*3=12,个元素。,8.4.5,函数与表达式,1,.,函数,在,VBA,中,除在模块创建中可以定义子过程与函数过程完成特定功

27、能外,又提供了近百个内置的标准函数,可以方便地完成许多操作。,标准函数一般用于表达式中,有的能和语句一样使用。其使用形式如下:,函数,名,(,参数,1,,参数,2,,参数,3,,参数,4,,参数,5,),其中,函数名必不可少,函数的参数放在函数名后的圆括号中,参数可以是常量、变量或表达式,可以有一个或多个,少数函数为无参函数。,8.4.5,函数与表达式,2.,表达式,表达式是将常量、变量、字段名、控件属性和函数用运算符组合而成的式子,用于完成各种形式的运算和处理。在,VBA,中有,5,类运算符,使用这些运算符可以分别构成算术表达式、字符表达式、关系表达式、逻辑表达式和对象引用表达式。,8.5

28、VBA,程序流程控制语句,基本语句,顺序结构,分支结构,循环结构,1,2,3,4,8.5.1,基本语句,1.,程序语句的书写规则,VBA,程序是由语句组成的,程序语句有严格的书写规则。,(1),通常一行书写一条语句,如果语句较长,一行写不下时,可以在末尾使用续行符“,_,”将语句写在下一行。,(2),当将几条语句写在一行时,使用“,:,”分隔各语句。,(3),一条命令以,Enter,键作为结束标志。,(4),语句中的英文不区分大小写。,(5),建议采用缩进格式书写程序,让程序中同级别的语句在同一列对齐。使用缩进格式书写的程序能清楚地显示程序的结构,不仅帮助用户阅读程序,还有利于程序的维护。,8

29、5.1,基本语句,2.,注释语句,注释语句对,程序的维护有很大的好处。在,VBA,程序中,注释可以通过以下两种形式实现:,(1),格式,1,:,注释内容,(,可以在代码后面,),如,Dim x as Integer ,定义整型变量,x,(2),格式,2,:,Rem,注释内容,(,必须独立一行,),如:,Rem,定义整型变量,Dim x as Integer,8.5.1,基本语句,3.,赋值语句,赋值语句是为变量指定一个值或表达式。通常以等号,(=),连接。其使用格式为:,变量名值或表达式,如:,Dim x as Integer ,定义整型变量,x,x=100 ,给变量,x,赋值,100,8.

30、5.1,基本语句,4.,输入输出语句,(1)InputBox(),函数,InputBox(),函数的作用是显示一个输入对话框,对话框中有一些提示信息及文本框,等待用户输入信息或按下按钮。在按钮事件发生后返回文本框中输入内容的值,返回值的类型为文本类型。,格式:,InputBox(,提示,标题,缺省值,x,坐标位置,y,坐标位置,),参数说明:,“提示”:唯一不能省略的选项,是字符串表达式,在对话框中作为提示信息显示。,“标题”:字符串表达式,在对话框的标题栏显示。可省略。,“缺省”:当无输入新值时,则该缺省值作为输入的内容。,“,x,坐标位置”和“,y,坐标位置”:确定对话框在屏幕上的位置。,

31、注意,:,若,用户单击“取消”,该函数返回长度为零的字符串,(),8.5.1,基本语句,4.,输入输出语句,(2)MsgBox(),函数,MsgBox,(),过程的作用是使用其消息框输出信息。,MsgBox,函数格式:,MsgBox(,提示,按钮,标题,),MsgBox,过程格式:,MsgBox,提示,按钮,标题,参数说明:,“提示”:唯一不能省略的选项,用于在对话框上输出结果或提示性文本。,“按钮”:用来指定对话框中按钮的个数和形式,默认值为,0,,其值与按钮数目和图标样式的对应关系如,表所,示。,“标题”:参数用于指定该对话框的标题,若省略则用“,Microsoft Access,”作为标

32、题。,注意:,MsgBox,函数与,MsgBox,过程的格式区别,前者有一对圆括号,后者没有圆括号。,8.5.1,基本语句,MsgBox(),函数中按钮与图标的参数值,分组,常数,值,buttons,参数的各组的设置值描述,按钮类型,与数目,vbOKOnly,0,只显示“确定”按钮,vbOKCancel,1,显示“确定”及“取消”按钮,vbAbortRetryIgnore,2,显示“终止”、“重试”及“忽略”按钮,vbYesNoCancel,3,显示“是”、“否”及“取消”按钮,vbYesNo,4,显示“是”及“否”按钮,vbRetryCancel,5,显示“重试”及“取消”按钮,图标样式,v

33、bCritical,16,显示,Critical Message,图标,vbQuestion,32,显示,Warning Query,图标,vbExclamation,48,显示,Warning Message,图标,vbInformation,64,显示,Information Message,图标,按钮,默认值,vbDefaultButton1,0,第一个按钮是默认值,vbDefaultButton2,256,第二个按钮是默认值,vbDefaultButton3,512,第三个按钮是默认值,vbDefaultButton4,768,第四个按钮是默认值,8.5.1,基本语句,案例:,用,In

34、putbox(),和,Msgbox(),设计名为“欢迎登录”窗体。窗体的设计视图,如,下图,所,示,单击“登录”按钮,运行窗体,界面所,示。,欢迎,登录窗体设计视图,在,command1(,输入用户信息,),按钮输入事件代码如下:,Private Sub Command1_Click(),xm=InputBox(,请输入姓名,),MsgBox,欢迎,&xm&,使用本系统,End Sub,运行窗体界面,8.5.2,顺序结构,顺序,结构是最简单的一种结构,计算机按照语句的排列顺序依次执行每一条语句。数据结构的语句主要是赋值语句和输入输出语句。,例,:,在,数据库中,建立一个能够计算圆面积的模块,。

35、在,代码窗口输入程序代码如下,。,Sub,模块,1(),Dim r As Single ,定义半径,Dim square As Single ,定义存放面积的字符,Const PI=3.1416 ,设置常数,PI,r=InputBox(,请输入半径:,),为,r,赋值,square=PI*r*r ,面积计算公式,MsgBox,半径为,&r&,圆面积是:,&square ,以对话框形式显示结果,End Sub,8.5.3,分支结构,1,.,单分支结构,单分支结构有两种格式。,格式:,(1),单行结构的格式,If,条件表达式,Then,语句块,(2),块结构的格式,If,条件表达式,Then,语

36、句块,End If,功能:若条件值为,True,,则执行,Then,后面的语句组,否则执行本语句的下一个语句。其执行过程如,图所,示。,8.5.3,分支结构,例:,设计,“判断正数”窗体,判断一个数是否是正数。,设计窗体界面如,图所,示。,文本框为,text1,,两个命令按钮分别为,command1,和,command2,。,command1(,“判断”,),按钮的事件代码如下:,Private Sub Command1_Click(),Dim a As Single,a=Text1.Value,If a 0 Then MsgBox a&,是正数,End,Sub,8.5.3,分支结构,2.,双

37、分支结构,格式,:,If,Then,Else,End If,功能:,若,为真时,执行,,之后转向执行,End If,后的语句;若条件表达式为假时,则执行,Else,语句后的,。,8.5.3,分支结构,例,:,编写,一个窗体“计算运费”,用于计算顺丰快递的运费。顺丰快递的收费规定是:重量小于等于,1,公斤时,收费,22,元。超过,1,公斤时,超出部分按每公斤,8,元收费。要求根据输入的任何重量,计算出相应的运费。窗体的界面如,图所,示。两个文本框分别为,text1,和,text2,,命令按钮分别为,command1(,计算,),和,command2(,退出,),。,command1(,“计算”,

38、),按钮的事件代码如下:,Private Sub Command1_Click(),Dim zl As Single,Dim yf As Single,zl=Text1.Value,If z1 1 Then,yf=22,Else,yf=(zl-1)*8+22,End If,Text2.Value=yf,End Sub,8.5.3,分支结构,例,:,使用,窗体的计时器触发事件,Timer,,在窗体的标签上实现自动计秒功能,(,从,0,开始,),。在窗体打开时开始计秒,单击其上按钮,则停止计秒,再单击按钮,继续计秒。,按钮,(command1),单击事件代码如下:,Private Sub Comm

39、and1_Click(),If Me.TimerInterval=0 Then,Me.TimerInterval=1000,Label1.Caption=0,Command1.Caption=,停止,Else,Me.TimerInterval=0,Command1.Caption=,开始,End If,End,Sub,窗体打开事件,(Open),代码如下:,Private Sub Form_Open(Cancel As Integer),Label1.Caption=0,Me.TimerInterval=0,Command1.Caption=,开始,End,Sub,窗体计时器触发,(Timer

40、),事件代码如下:,Private Sub Form_Timer(),Label1.Caption=Label1.Caption+1,End,Sub,8.5.3,分支结构,3.,多分支结构,格式:,If Then,ElseIf Then,ElseIf Then,Else,End If,功能:,若,为真,则执行,,之后转向执行,End if,后的语句;否则,再判断,,为真时,执行,,依次类推,当所有的条件都不满足时,执行,。,8.5.3,分支结构,例,:,设计,一个窗体“成绩评定”,设计窗口如图,8-33,所示。在文本框,(text1),中输入学生的成绩,当成绩,=90,分时,输出“优秀”;当成

41、绩大于等于,80,且小于,90,时,输出“良好”,当成绩大于等于,60,且小于,80,时,输出“合格”,当成绩小于,60,时,输出“不合格”。单击“评定”按钮,输出评定结果,输出评定的结果用,msgbox(),消息框,输出,。,Command1(,评定,),的事件代码如下:,Dim result As Integer,result=Text1.Value,If result=90 Then,MsgBox,优秀,ElseIf result=80 Then,MsgBox,良好,ElseIf result=60 Then,MsgBox,合格,Else,MsgBox,不合格,End If,8.5.3,

42、分支结构,4.Select Case,语句,格式:,Select Case,Case,Case,Case Else,End Select,功能:首先计算条件表达式的值,然后将表达式的值依次与各,Case,后列表中的值一一进行比较,若与其中某个值相同,则执行该列表后的相应语句块部分,然后执行,End Select,其后的语句;若出现与表列中的所有值均不相等的情况,则执行,Case Else,的语句块部分,然后退出,Select Case,结构,执行其后的语句,否则不执行任何结构内的语句,整个,Select Case,结构结束,再执行其后的语句。,8.5.3,分支结构,4.Select Case,

43、语句,说明:,(1),表达式可以是数值表达式或字符串表达式。,(2),表达式列表可以有如下,3,种格式:,值,1,值,2,:此种格式在表达式列表中有一个或多个值与表达式的值进行比较,多个取值之间用逗号分隔。如果表达式的值与这些值中的一个相等,即可执行此表达式列表后相应的语句块。,值,1 To,值,2,:此种格式在表达式列表中提供了一个取值范围,可以将此范围内的所有取值与表达式的值进行比较。如果表达式的值与此范围内的某个值相等,则可执行此表达式列表后的相应语句块。,Is,关系运算符值,1,值,2,:此种格式将表达式的值与关系运算符后的值进行关系比较,检验是否满足该关系运算符。若满足,则执行此表达

44、式列表后的相应语句块。,8.5.3,分支结构,例,:,设计,一个窗体“成绩评定”,设计窗口如图,8-33,所示。在文本框,(text1),中输入学生的成绩,当成绩,=90,分时,输出“优秀”;当成绩大于等于,80,且小于,90,时,输出“良好”,当成绩大于等于,60,且小于,80,时,输出“合格”,当成绩小于,60,时,输出“不合格”。单击“评定”按钮,输出评定结果,输出评定的结果用,msgbox(),消息框,输出,。,Command1(,评定,),的事件代码如下:,Private Sub Command1_Click(),Dim result As Integer,result=Text1.

45、Value,Select Case result,Case Is=90,MsgBox,优秀,Case Is=80,MsgBox,良好,Case Is=60,MsgBox,合格,Case Else,MsgBox,不合格,End Select,End,Sub,8.5.4,循环结构,在,解决一些实际问题时,往往需要重复某些相同的操作,即对某一语句或语句序列执行多次,解决这类问题要用到循环结构。,VBA,提供了多种循环结构语句。,1.For,Next,循环语句,格式,:,For,循环变量,=,初值,To,终值,Step,步长,循环体,条件语句序列,Exit For,结束条件语句序列,Next,循环变量

46、功能,:,For,Next,循环语句能够重复执行程序代码区域特定次数。,8.5.4,循环结构,执行步骤:,(1),循环变量取初值;,(2),循环变量与终值比较,确定循环是否进行:,步长,0,时,若循环变量值,终值,循环结束,退出循环。,步长,=0,时,若循环变量值,终值,一次也不执行循环。,步长,=,终值,循环继续,执行步骤;若循环变量值,终值,循环结束,退出循环。,执行循环体。,循环变量值增加步长,(,循环变量,=,循环变量,+,步长,),,程序跳转至步骤,(2),。,8.5.4,循环结构,例,:,设计,一个窗体“求累加和”,,实现,给定初值和终值后,计算出它们之间数累加的和,运行结果如图

47、1),设计视图内设计窗体控件,两个文本框分别为,text1,和,text2,,命令按钮为,command1,。,(2),命令按钮的,command1,事件代码如下:,Private Sub Command0_Click(),j=Text1.Value,x=Text2.Value,s=0,For i=j To x,s=s+i,Next i,MsgBox,从,&j&,到,&x&,累加和为,&s,End Sub,8.5.4,循环结构,例,:,创建一个窗体,在文本框中输入一个数,判断这个数是否为,素数,命令按钮,command1,的事件代码如下:,Private Sub Command1_Clic

48、k(),x=Text1.Value,For i=2 To x-1,If x Mod i=0 Then,f=1,Exit For,End If,Next i,If f=1 Then,MsgBox x&,不是素数,Else,MsgBox x&,是素数,End If,End Sub,8.5.4,循环结构,2.Do,Loop,循环语句,(1)Do While,Loop,语句,格式:,Do While,条件表达式,循环体,Loop,功能:语句执行时,若条件表达式的值为真,则执行,Do,和,Loop,之间的语句组,直到条件表达式的值为假则结束循环。,8.5.4,循环结构,例,:,建立,窗体,,单击命令按钮

49、command1,,完成,1+2+3+,+,n,的累加计算。,命令按钮,Command1,的事件代码如下:,Private Sub Command1_Click(),i=0,s=0,Do While i 100,s=s+i,i=i+1,Loop,MsgBox,累加和为,&s&,循环变量的终值为,&i,End Sub,8.5.4,循环结构,2.Do,Loop,循环语句,(3)Do,Loop While,语句,格式,:,Do,循环体,Loop,While,条件,表达式,功能:语句执行时,首先执行一次循环体语句,执行到,Loop,时判断条件表达式的值,如果为真,继续执行,Do,和,Loop,之间的

50、语句组,否则,结束循环。,8.5.4,循环结构,例,:,用,Do,LoopWhile,语句建立,窗体,,单击命令按钮,command1,,完成,1+2+3+,+,n,的累加计算。,命令按钮,command1,的事件代码如下:,Private Sub Command1_Click(),i=0,s=0,Do,s=s+i,i=i+1,Loop While i 100,MsgBox,累加和为,&s&,循环变量的终值为,&i,End Sub,8.5.4,循环结构,3.While,Wend,语句,For,Next,循环适合于解决循环次数事先能够确定的问题。对于只知道控制条件,但不能预先确定需要执行多少次循

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服