AccessVBA数据库编程.ppt





《AccessVBA数据库编程.ppt》由会员分享,可在线阅读,更多相关《AccessVBA数据库编程.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章 VBA程序设计基础n本章要点:q熟悉VBA编程环境q掌握VBA语法q掌握VBA的流程控制结构10.1 VBA编程环境n认识VBAqVisual Basic for Applicationq与VB开发工具很相似,包括各种主要的语法结构、函数命令等。q与VB的主要区别是VBA主要面向Office办公软件开发工具(增强Word、Excel等软件的自动化能力),提供了很多VB中没有的函数和对象,这些对象都是针对Office应用的。q宏的每个基本操作在VBA中都有相应的等效语句。10.1 VBA编程环境nVBA编程环境:VBE窗口10.1 VBA编程环境nAccess 2003数据库中包含的程
2、序模块可以分为两种类型:q独立程序模块q绑定型程序模块10.1 VBA编程环境n绑定性程序模块q是指包含在窗体、报表、页等数据库基本对象之中的事件处理过程,这样的程序模块仅在所属对象处于活动状态下有效。q也称类模块。作用范围局限在所属的窗体和报表内部,具有局部特性。10.1 VBA编程环境n绑定模块代码设计步骤:q选中控件的对应事件选事件过程:10.1 VBA编程环境n绑定模块代码设计步骤2:q选中事件过程后点 按钮。10.1 VBA编程环境n编辑独立的程序模块q独立程序模块是指Access2003数据库中的“模块”对象。这些模块对象可以在数据库中被任一个对象所调用。q也称为标准模块。一般用于
3、存放公共过程,不如其他任何Access对象相关联。通常为整个应用系统设置全局变量或通用过程,供其他窗体或报表等数据库对象在类模块中使用或调用。q标准模块中的公共变量和公共过程具有全局性,其作用范围为整个应用系统。10.1 VBA编程环境n标准模块的创建步骤:q1.选择”模块”对象,点“新建”10.1 VBA编程环境n标准模块的创建步骤:q2.标准模块界面10.1 VBA编程环境n两种模块:10.1 VBA编程环境nVBE窗口的组成10.1 VBA编程环境n主要按钮介绍:q视图切换:从VBE视图切换到Access数据库对象视图。q插入模块:用于插入新模块对象,并置新模块对象为操作目标。q运行:执
4、行模块程序。q中断:中止正在运行的程序,进入设计模式。q重新设置:中止程序q设计模式:在设计模式和非设计模式之间切换。10.1 VBA编程环境n主要按钮的功能:q工程资源管理器:选中当前程序模块。10.1 VBA编程环境n属性窗口:10.1 VBA编程环境n对象浏览器:10.1 VBA编程环境n创建模块q添加过程10.2 模块基础nSub过程qPublic|Private Static Sub 子过程(形参)As 数据类型n子过程语句nExit SubqEnd SubqPublic可以使该过程能被所有模块的所有其他过程调用。qPrivate可以使该过程只能被同一模块的其他过程调用。q在一个过程
5、中也可以调用其他子过程或打开窗体等10.2 模块基础n子过程的定义:qPublic Sub ccc()nDoCmd.OpenForm LoginqEnd Subn子过程的调用:qCall 子过程(实参)q或者子过程(实参)qCall ccc()qCcc()10.2 模块基础nFunction函数qPublic|Private Static Function 函数过程名(形参)AS 数据类型n函数过程语句n函数过程名表达式nExit FunctionqEnd Functionq和Sub过程很类似,但通常都具有返回值。qStatic定义静态函数,函数中定义的值一直保存。qAs 数据类型,定义函数返
6、回值类型。10.2 模块基础n函数定义qPrivate Function ddd(r As Double)As Integerq Dim pi As Doubleq pi=3.1415926q ddd=pi*r*rqEnd Function10.2 模块基础n窗体按钮事件中调用模块过程或函数:q用表达式生成器选择10.2 模块基础n表达式生成器选择标准模块函数方法:10.3 VBA面向对象编程基础n属性与方法的引用方式:q对象.属性名,对象.方法名q这里的对象一般采用:父对象类名!子对象名q对于窗体上的控件可以用:me.xx 方式来引用,me代表当前窗体。q例如访问窗体上标签:nForm_模块
7、应用!Lb1.Caption“你好啊”nMe.lb1.caption“你好啊”q标准模块只能用:父对象类名!子对象名,而窗体模块两种形式都可以使用,推荐使用me.形式。10.3 VBA面向对象编程基础n访问窗体文本框:q访问或设置文本框中的字符串n读:msgbox(me.text1.value)n赋值:me.Text1.value“你好啊”q设置或者访问文本框被选中内容nMe.text3.setfocusnMe.Text3.SelStart=2nMe.Text3.SelLength=2nMsgBox(Me.Text3.SelText)10.3 VBA面向对象编程基础q设置文本框的输入掩码:nM
8、e.Text3.InputMask=Password“q设置文本框的可用性:n锁定控件,即只读:Me.Text3.Locked=Truen禁用控件:Me.Text3.Enabled=trueq设置文本框焦点:nDoCmd.GoToControl(Text3)nMe.Text3.SetFocus10.3 VBA面向对象编程基础n访问切换控件(Toggle)q程序判断是否按下n读/赋值:me.Toggle.Valuen值为:true(1),false(0)q该控件较少被应用到10.3 VBA面向对象编程基础n单选控件(Option)q程序判断选中与否q读/赋值:me.Option1.value=t
9、rueq值为:true(1),false(0)n复选框(Check)q程序判断选中与否q读/赋值:me.check1.valueq值为:true(1),false(0)10.3 VBA面向对象编程基础n组合框(Combo)q程序访问选中的内容、选中的序号、遍历整个下拉列表,以及增加和删除内容。q重要属性:nMsgBox(Me.Combo13.ListIndex),返回组合框被选项的序号,从1开始;没有被选择的初值为1。nMsgBox(Me.Combo13.Value),返回组合框被选项的值,必须有内容被选择后才能使用。nMsgBox(Me.Combo13.ListCount),返回组合框中选项
10、数量,可以用它实现对组合框数据的遍历。10.3 VBA面向对象编程基础n组合框下拉列表值集合:bo13.ItemData(i),返回i序号位置列表项值。q组合框特色属性:n手动输入的文本:bo13.Text,可以结合按键事件,将手动输入的内容增加到组合框中。n这个属性是列表框所没有的。q组合框重要方法:nMe.Combo13.AddItem(“ccc”),对组合框增加新下拉项,参数是下拉项的值,即显示出的字符串。nMe.Combo13.RemoveItem(3),删除组合框中指定序号位置的下拉项。10.3 VBA面向对象编程基础n列表框(List)q除了外观形式外,常用属性方法与组合框大体类似
11、。q特色属性:n多重选择属性:Me.List18.MultiSelect,值是0,1,2,但是运行只读属性,只能在运行之前设置。n判断列表项是否被选中属性:Me.List18.Selected(i),返回对应序号的列表值是否被选中。10.3 VBA面向对象编程基础n图片框(image)q一般选择链接形式显示图片,图片显示用缩放。q动态更改图片:nMe.Image22.Picture=“E:教学资源1.jpg”,要给出图片的路径。10.3 VBA面向对象编程基础n分页控件(选项卡控件)q重要属性:qPages属性,主要通过它指定新当前页,修改页的标题、隐藏和显示指定页。nMe.xxk.Pages
12、.Item(2).SetFocusnMe.xxk.Pages.Item(1).Caption=ccnMe.xxk.Pages.Item(0).Visible=False10.3 VBA面向对象编程基础nAccess应用程序内置对象qApplication对象,包含大量的属性、方法和子对象,部分全局性操作通过它完成。调用时先输入“Application.”即可显示其包含的各个子内容。qDocmd对象,是Application的一个子对象。主要功能是通过调用Access内置的方法,在VBA中实现特定的操作。调用时先输入“Docmd.”即可以选用其下属子属性和方法。q这两个对象的常用方法部分可以参考
13、教材125页起的内容。该对象后续内容将大量应用。10.4 VBA编程基础nVBA程序书写规范q不区分大小写,但是标点符号、括号必须是半角英文格式。一个变量或者函数名第一次定义或者使用后,其后程序将自动依照第一次定义(或使用)除格式显示。q语句书写,一般一句一行,如果一行写不下,可以在要续行的行尾用续行符(空格+”_”),然后在下一行续写语句代码。q注释语句:用Rem开头或者”“开头一行表示注释。10.4 VBA编程基础n1.VBA中的基本数据类型q字节型,关键字Byte,占1个字节,在0255内取值。q主要用于存储一些小型整数。qDim i As ByteqDim x,y,z As Byteq
14、i=100qX=Iq没有表示符号10.4 VBA编程基础n逻辑型,关键字Boolean,占2字节,取True,False。0为false,非0为True,如-1。q主要用于存储一些逻辑运算结果qDim x as booleanqX=trueqX=0qX=1000qX=-199q常量没有特殊表示符号10.4 VBA编程基础n整型,关键字Integer,占2字节,取3276832767之间。q最常用的整型。qDim I as integerqi=100qi=1+1q其常量用表示,如99。10.4 VBA编程基础n长整型,关键字Long,占4字节,取值范围在正负20亿之间取值。q主要用于存储特别大的
15、整型数值。qDim x as longqX=19999q其常量用&表示,如99&等。10.4 VBA编程基础n单精度型,关键字Single,占4字节,在正负10-45之间取值。qDim salary as singleqSalary=3000q保存小数q其常量用!表示,如100.89!10.4 VBA编程基础n双精度数,关键字Double,占8个字节,比单精度数更大的表达能力。qDim distance as DoubleqDistance=300000q最常用的浮点数表示类型。可以兼容所有其他数值类型。q其常量用表示,如200.910.4 VBA编程基础n货币型q关键字:Currency,占
16、8字节,15位整数,4位有效小数。qDim money as CurrencyqMoney=99999999.9999q其常量标志为,如199。10.4 VBA编程基础n日期型(包括时间,实际是日期时间类型)q关键字Data,占8字节qDim today as DateqToday=Now 得到当前日期和时间qToday=Date 得到当前日期qTodayTime 得到当前时间q日期常量必须用#括起来,如#10-11-2006#10.4 VBA编程基础n对象型q关键字:Object,占4个字节,可以指向任何对象。q一般不生成这种通用对象类型,而是根据需要生成专用的对象。10.4 VBA编程基础
17、n字符型q关键字:String,最多可以存放64K字符。q常量表示字符$,如“hello!”$q字符和字符串一样表示方式,如”A“,”AB”,只有一个字符的字符串就可以作为字符。这点和C+不同。q长度为0的字符串为空串。10.4 VBA编程基础n变长类型q类型关键字:Varient,可以存储任何类型。q默认情况下,没有定义数据类型的变量都属于Varient类型。函数没有定义返回值类型时,默认也是Varient类型。10.4 VBA编程基础n用户自定义类型q如结构qPrivate|Public Type 数据类型名n元素1 As 数据类型n元素2 As 数据类型nqEnd Typeq然后qDim
18、 x as 自定义类型名qX.元素1.10.4 VBA编程基础n变量、常量、数组qVBA中使用变量可以不需要说明就直接使用。nA100q也可间接显式定义nA100,是整型的标志,所以A为整型。q最常用就是dim语句定义。10.4 VBA编程基础n变量、常量、数组q值常量n100,100,True等等。q常值变量nConst PI3.1415926q固有常量n系统已经定义的环境常量10.4 VBA编程基础n数组qVBA中不允许隐式说明数组,必须先定义后使用。qDim x(10)as integer,普通1维数组qDim y(-2 to 3)as integer,下标2开始的数组qDim z(3,
19、5)as integer,2维数组qDim w()as integer,动态1维数组。动态数组可以反复使用Redim重新确定大小。如:Redim w(10),重新定义时可以用Preserve标志保存原有值。Redim Preserver W(20),这样前面10个值得以保留,否则原有数据全部丢失。Preserve不能改变维数。q默认情况下数组下标从0开始,上标n1。10.4 VBA编程基础n数据库对象变量q可以定义变量代表对应数据库对象上各种控件qDim myform as controlqSet myform=Forms!Form_登录!txtUsernameq(VB或VBA中Set的作用就
20、是让变量指定对象)10.4 VBA编程基础n运算符与表达式q一、算术运算符运算符 名称优先级表达式例子指数运算 1XY-取负数2X/浮点除法 3X/Y整除4XYMod求余数5X MOD Y其他还有(加)、-(减)、*(乘)10.4 VBA编程基础n字符运算符q,字符串连接符号,将两个字符串连接成一个新字符串。q&,将不同数据类型连接到字符串上。n例如:“Access”2003“n”Access“&2003n“2+3”&“=“&(2+3)10.4 VBA编程基础n关系运算符运算符运算含义表达式例子结果Is对象引用比较A is nothingLike字符串匹配”ac“like“*c”trueBet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AccessVBA 数据库 编程

限制150内