Access数据库应用基础教程ch11_第1页
Access数据库应用基础教程ch11_第2页
Access数据库应用基础教程ch11_第3页
Access数据库应用基础教程ch11_第4页
Access数据库应用基础教程ch11_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

2019年9月17日,第1页,第11章 模块与VBA,Access 数据库应用基础教程(第二版) 清华大学出版社,教学目标 教学重点 教学过程,2019年9月17日,第2页,教学目标,了解VBA的概念 了解宏与VBA的区别与转换 了解面向对象的基本术语 理解VBA编程的步骤 熟悉VBA编程环境 掌握VBA程序设计基础 掌握程序流程控制与模块、过程、函数 了解VBA常用内部函数 了解VBA数据库编程 了解VBA代码的保护,2019年9月17日,第3页,教学重点,理解VBA编程的步骤 熟悉VBA编程环境 掌握VBA程序设计基础 掌握程序流程控制与模块、过程、函数,2019年9月17日,第4页,教学过程,VBA概述 VBA编程的概念和步骤 VBA编程环境 VBA程序设计基础 程序流程控制 模块、过程和函数 VBA常用内部函数 面向对象的程序设计实例 VBA数据库编程 VBA代码的保护,2019年9月17日,第5页,11.1 VBA概述,什么是VBA 宏和VBA 由宏至VBA,2019年9月17日,第6页,什么是VBA,VB(Visual Basic)是一种面向对象程序设计语言,Microsoft公司将其引入到了其他常用的应用程序中。例如,在Offfice的成员Word、Excel、PowerPoint、Access、OutLook中,这种内置在应用程序中的Visual Basic版本称之为VBA(Visual Basic for Application)。VBA是VB的子集。,2019年9月17日,第7页,宏和VBA,宏和VBA都可以实现操作的自动化。但是,在应用的过程中,是使用宏还是使用VBA,得根据实际的需要而定。对于简单的细节工作,例如,打开或关闭窗体、打印报表等,使用宏是一种很方便的方法,它可以迅速地将已经创建的数据库对象联系在一起。而对于复杂的操作,如数据库的维护、使用内置函数或自行创建函数、处理错误消息、创建或处理对象、执行系统级的操作,一次处理多条记录等,宏是难以做到的,这种情况下,应当使用VBA进行编程。,2019年9月17日,第8页,由宏至VBA,可以将宏对象转换为VBA代码,操作步骤如下: 选择需要转换的宏对象。 选择“文件”|“另存为”命令,在打开的“另存为”对话框中,为VBA模块命名,并指定保存类型为“模块”即可。,2019年9月17日,第9页,11.2 VBA编程的概念和步骤,对象、属性、方法和事件 VBA编程的步骤,2019年9月17日,第10页,对象、属性、方法和事件,对象就像积木块,它是进行VBA编程的基础构件。在开发一个应用程序时,必须先建立各种对象,然后围绕对象进行程序设计。 属性是描述对象的特征。 对象的方法是动态操作,目的是改变对象的当前状态。 事件是对象对外部操作的响应,如在程序执行时,单击命令按钮将会产生Click事件。 事件过程是事件的处理程序,与事件是一一对应的。,2019年9月17日,第11页,VBA编程的步骤,在Access中进行VBA编程的主要步骤如下。 设计用户界面。VBA编程的第一步是创建用户界面。用户界面的基础是窗体以及窗体上的控件。 设置对象属性。有两种设置方法,一是在窗体设计视图中,通过对象的属性对话框进行设置,二是通过程序代码设置,格式如下: 对象名称.属性=属性值 需要注意的是,引用某个窗体的语法为“Forms!窗体对象名称”;引用某个报表的语法为“Reports!报表对象名称”。 Me关键字是隐含声明的变量,这个关键字适用于窗体或报表中的每个事件过程,在事件过程中可以用Me关键字引用窗体或报表。 编写对象的事件过程。创建用户界面并设置对象的属性后,接着应当考虑哪些对象需要激活什么事件并编写该事件的代码。 运行和调试。 保存窗体。保存窗体对象,此时不仅保存了窗体及控件,而且还保存了事件代码。,2019年9月17日,第12页,11.3 VBA编程环境,进入VBE VBA界面 程序的调试,2019年9月17日,第13页,进入VBE,打开VBE的方法有多种。可以将这些方法分为两类,一类是从数据库窗口中打开VBE,一类是从报表或窗体的设计视图中打开VBE。,2019年9月17日,第14页,VBA界面,VBE界面主要由常用工具栏和多个子窗口组成,主要如下: VBE工具栏 VBE窗口 代码窗口中的自动提示,2019年9月17日,第15页,程序的调试,程序的错误类型:编译错误、运行错误和逻辑错误。 程序的调试方法:逐步调试和监视代码的运行。 错误处理:先设置错误陷阱,然后编写错误处理代码。,2019年9月17日,第16页,11.4 VBA程序设计基础,数据类型 常量、变量和数组 运算符和表达式 VBA常用语句,2019年9月17日,第17页,数据类型,VBA语言的数据类型包括布尔型(Boolean)、日期型(Date)、字符串(String)、货币型(Currency)、字节型(Byte)、整数型(Integer)、长整型(Long)、单精数型(Single)、双精数型(Double)以及变体型(Variant)和用户自定义型。在VBA代码编程环境中通过“Dim As”语句来定义数据类型。,2019年9月17日,第18页,常量、变量和数组,常量:常量用来存储固定不变的数值。 变量:通常使用Dim语句来声明变量。声明变量的语法格式如下: Dim 变量名称 As 数据类型或对象类型 数组:可以是固定大小的数组,也可以是动态变化大小的数组。声明数组的语法格式如下: Dim 数组名称(数组范围)As 数据类型,2019年9月17日,第19页,运算符和表达式,算术运算符和算术表达式 字符串连接符合字符串表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式 对象运算符和对象表达式,2019年9月17日,第20页,VBA常用语句,赋值语句,赋值语句用于将右边表达式的值赋给左边的变量,语法格式如下: = 用户交互函数InputBox,格式如下: InputBox$(提示,标题,缺省,x坐标位置,y坐标位置) MsgBox函数和MsgBox语句。MsgBox函数的格式如下: 变量名%=MsgBox(提示,按钮,标题) MsgBox语句的格式如下: MsgBox 提示,按钮,标题 注释语句:Visual Basic的注释行可由单引号()或Rem加空格开始。如果在程序语句的同一行加入注释,必须在语句后加一个省略符号,然后加入注释文本。,2019年9月17日,第21页,11.5 程序流程控制,选择结构 循环结构 Exit语句,2019年9月17日,第22页,选择结构,If语句,基本语法格式如下: If 条件表达式 Then 基本语句 Else 基本语句 End If Select Case语句,基本语法格式如下: Select Case 表达式 Case 可选值1 基本语句 Case 可选值2 基本语句 Case 可选值n 基本语句 Case Else 基本语句 End Select,2019年9月17日,第23页,循环结构,DoLoop语句,语法结构有以下两种。 Do While | Until 条件表达式 基本语句 Loop 或 Do 基本语句 Loop While | Until 条件表达式 ForNext语句,语法格式如下: For 计数器 = 起始数值 To 结束数值 步长 基本语句 Next 计数器 WhileWend语句,语法格式如下: While 条件表达式 基本语句 Wend GoTo语句,语法格式如下: GoTo 行号,2019年9月17日,第24页,Exit语句,使用Exit语句可以方便地退出循环、函数或过程,直接跳过相应语句或结束命令。通过Exit关键字可以终结一部分程序的执行,更灵活地控制程序的流程。,2019年9月17日,第25页,11.6 模块、过程和函数,模块 过程与函数 参数传递 量的作用域和生存期,2019年9月17日,第26页,模块,模块就是一种容器,用于存放用户编写的VBA代码。 Access的模块分为两类:类模块和标准模块。 创建模块的方法有以下4种。 在创建窗体或报表时,Access都会自动创建一个对应的窗体模块或报表模块。 在数据库窗口中,单击“对象”列表中的“模块”按钮,然后单击数据库窗口工具栏中的“新建”按钮,即可创建一个标准模块。 在VBE编辑器中,选择“插入”|“模块”可以新建一个标准模块;选择“插入”|“类模块”命令可以创建新的类模块。 在VBE编辑器中,单击工具栏中的“插入模块”下拉按钮,从弹出的下拉菜单中选择“模块”或“类模块”命令。,2019年9月17日,第27页,过程与函数,子过程的语法格式如下: Sub 子过程名(参数列表) 局部变量或常量定义 语句序列 Exit Sub 语句序列 End Sub 函数的语法格式如下: Function 函数名称(参数列表) As 数据类型 局部变量或常数声明 语句序列 Exit Function 语句序列 函数名称 = 表达式 End Function,第28页,参数传递,传址方式:在形参前加上ByRef关键字或省略不写,则参数传递方式为传址方式。 传值方式:在形参前加上ByVal关键字,表示参数传递是传值方式,这是一种单向的数据传递,即调用时只能由实参将值传递给形参,调用结束不能由形参将操作结果返回给实参。实参可以是常数或表达式。,2019年9月17日,第29页,变量的作用域和生存期,按照作用域的不同可将变量分为3种类型:局部变量、模块变量和全局变量。 按照生存期的不同,可将变量分为动态变量和静态变量两种。,2019年9月17日,第30页,VBA常用内部函数,数学函数 字符串函数 转换函数 日期函数,2019年9月17日,第31页,面向对象的程序设计实例,设计具有登录功能的窗体 录入考试分数,2019年9月17日,第32页,11.9 VBA数据库编程,数据库引擎及其接口 VBA访问数据库的类型 DAO ADO,2019年9月17日,第33页,数据库引擎及其接口,VBA是通过Microsoft Jet数据库引擎工具来支持对数据库的访问。所谓数据库引擎实际上是一组动态链接库(DLL),当程序运行时被链接到VBA程序而实现对数据库的数据访问功能。数据库引擎是应用程序与物理数据库之间的桥梁,它以一种通用接口的方式,使各种类型物理数据库对用户都具有统一的形式和相同的数据访问与处理方法。,2019年9月17日,第34页,VBA访问数据库的类型,VBA通过数据库引擎可以访问的数据库有以下3种类型。 本地数据库:即Access数据库。 外部数据库:指所有的索引顺序访问方法(ISAM)数据库。 ODBC数据库:符合开放数据库连接(ODBC)标准的客户/服务器数据库,例如,Oracle、Microsoft SQL Server等。,2019年9月17日,第35页,DAO,DAO的对象模型 对象变量的声明和赋值 DAO对象的属性和方法,2019年9月17日,第36页,DAO的对象模型,2019年9月17日,第37页,对象变量的声明和赋值,DAO对象声明的关键字可以是Dim、Private、Public等,语法格式如下: Dim 对象变量名称 As 对象类型 对象变量必须通过Set表达式来赋值,语法格式如下: Set 对象变量名称=对象指定声明,2019年9月17日,第38页,DAO对象的属性和方法,Database对象的属性和方法 TableDef对象的常用属性和方法 RecordSet对象的常用属性和方法,2019年9月17日,第39页,ADO,引用ADO ADO的对象模型 提供程序 建立连接 断开连接 Recordset对象 Command对象,2019年9月17日,第40页,引用ADO,与使用DAO一样,在使用ADO之前,也必须先引用包含ADO对象和函数的库。方法是:在VBE环境中,选择“工具”|“引用”命令,在打开的“引用”对话框中,选中“Microsoft ActiveX Data Objects 2.5 Library”复选框,然后单击“确定”按钮即可。,2019年9月17日,第41页,ADO的对象模型,ADO提供了9个对象和4个集合,如图所示。,2019年9月17日,第42页,提供程序,Access 2003提供了一个本地OLE DB用户和编程接口,使用该接口可以访问Access数据库、SQL Server数据库以及其他数据源。 在OLE DB结构中,访问数据的应用程序称为数据消费程序,例如,Microsoft Access;能在本地访问数据的程序称为提供程序,例如,Microsoft OLE DB Provider for SQL Server或Microsoft Jet 4.0 OLE DB Provider。 ADO就是通过提供程序对数据源的数据进行处理的。,2019年9月17日,第43页,建立连接,使用ADO编程的第一步,就是建立应用程序和数据源之间的连接。ADO使用Connection对象的Open方法建立连接,方法如下: Dim Connection as New ADODB.Connection Connection.Open ConnectionString,UserID,Password,OpenOptions,2019年9月17日,第44页,断开连接,断开与数据库的连接,语法格式如下: 连接对象名.close 该语句用于关闭数据库连接对象,断开应用程序与数据源的连接。断开以后,Connection对象仍存在内存中,释放连接对象变量的方法如下: Set 连接对象名=nothing,2019年9月17日,第45页,Recordset对象,建立Recordset对象的语法格式如下: Dim 对象变量名 as ADODB.Recordset Set 对象变量名=New ADODB.Recordset Recordset对象的常用属性 Recordset对象的常用方法,2019年9月17日,第46页,Command对象,建立Command对象的语法格式如下: Dim 对象变量名 as ADODB.Command Set 对象变量名=New ADODB.Command Command对象的常用属性 Command对象的常用方法,2019年9月17日,第47页,11.1

温馨提示

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

评论

0/150

提交评论