Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt

上传人:牧羊曲112 文档编号:6501105 上传时间:2023-11-07 格式:PPT 页数:44 大小:2.17MB
返回 下载 相关 举报
Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt_第1页
第1页 / 共44页
Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt_第2页
第2页 / 共44页
Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt_第3页
第3页 / 共44页
Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt_第4页
第4页 / 共44页
Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt》由会员分享,可在线阅读,更多相关《Access基础与应用教程PPT课件第9章VBA的数据库编程.ppt(44页珍藏版)》请在三一办公上搜索。

1、第9章,在开发Access数据库应用系统时,为了能开发出更实用、更有效的Access数据库应用程序,以便能快速、有效地管理好数据,还应当学习和掌握VBA的数据库编程方法。,VBA的数据库编程,第9章 VBA的数据库编程,本章主要内容,退出,9.1 数据库访问接口9.2 数据访问对象(DAO)9.3 ActiveX数据对象(ADO),9.1 数据库访问接口,为了在VBA程序代码中能方便地实现对数据库的数据访问功能,VBA语言提供有相应的通用的接口方式。VBA是通过 Microsoft Jet 数据库引擎工具来支持对数据库的访问。所谓数据库引擎实际上是一组动态链接库(DLL),当程序运行时被连接到

2、 VBA 程序而实现对数据库的数据访问功能。数据库引擎是应用程序与物理数据库之间的桥梁,它以一种通用接口的方式,使各种类型物理数据库对用户而言都具有统一的形式和相同的数据访问与处理方法。,9.1 数据库访问接口(续),在VBA语言中,提供了如下三种基本的数据库访问接口:(1)开放数据库互连应用编程接口(简称ODBC API)。(2)数据访问对象(简称DAO)。(3)Active数据对象(简称ADO)。在VBA语言程序设计中,通过数据库引擎可以访问如下三种类型的数据库:(1)本地数据库,即是 Access 数据库。(2)外部数据库,即是所有的索引顺序访问方法(ISAM)数据库。(3)ODBC数据

3、库,即是符合开放数据库连接(ODBC)标准的数据库,例如,Oracle、Microsoft SQL Server等。,9.2 数据访问对象(DAO),数据访问对象(DAO)是VBA语言提供的一种数据访问接口,包括数据库、表和查询的创建等功能,通过运行VBA程序代码可以灵活地控制数据访问的各种操作。在Access 2010中,可以在VBA程序中使用DAO来访问(*.mdb)数据库和(*.accdb)数据库。,9.2.1 DAO模型结构,DAO 模型的分层结构图如图10-2所示。它包含了一个复杂的可编程数据关联对象的层次,其中 DBEngine对象处于最顶层,它是模型中惟一不被其他对象所包含的数据

4、库引擎本身。层次低一层对象是,Errors和 Workspaces对象。层次再低一层对象如Errors对象的低一层对象是Error;Workspaces 对象的低一层对象是 Workspace。Databases 的低一层对象是 Database。Database 的低一层对象是 Containers、QueryDefs、RecordSets、Relations 和 TableDefs。TableDefs对象的低一层对象是 TableDef。同理如此类推,在此不作详列。其中对象名的尾字符为“s”的那些对象(如,Errors、Workspaces、Databases、TableDefs、Fiel

5、ds 等)是集合对象,集合对象下一层包含其成员对象。,9.2.2 DAO对象变量的声明和赋值,DAO 对象必须通过 VBA 程序代码来控制和操作。在代码中,必须设置对象变量,然后再通过对象变量使用其下的对象、或者对象的属性和方法。1对象变量的声明 同普通变量的声明一样,声明的关键字可以是 Dim、Private、Public 等。声明对象变量的语句格式:Dim 对象变量名 As 对象类型 例如:Dim wks As Workspace 声明wks为工作区对象变量 Dim dbs As Database 声明dbs为数据库对象变量,2对象变量的赋值,Dim 只是声明了对象变量的类型,对象变量的值

6、必须通过 Set 赋值语句来赋值。Set赋值语句的格式:Set 对象变量名称=对象指定声明例如:Set wks=DBEngine.Workspaces(0)打开默认工作区(即0号工作区)Set dbs=wks.OpenDatabase(E:Access职工管理.accdb)打开数据库,例9-1,例9-1 通过 DAO 编程,显示当前打开的数据库的名称。Private Sub Cmd1_Click()Dim wks As Workspace 声明工作区对象变量 Dim dbs As Database 声明数据库对象变量 Set wks=DBEngine.Workspaces(0)打开默认工作区(

7、即0号工作区)Set dbs=wks.Databases(0)打开当前(默认)数据库(即0号数据库)MsgBox dbs.Name Name 是 Database 对象变量的属性End Sub,例9-1(续),9.2.3 DAO对象的部分属性和方法,1Database 对象的常用属性和方法 Database 对象代表数据库。Database对象的常用属性如表9-2所示。Database对象的常用方法如表9-3所示。,表9-2 Database对象的常用属性,表9-3 Database对象的常用方法,2TableDef 对象的CreateField方法,使用 TableDef 对象的 Creat

8、eField 方法可创建表中的字段。使用 CreateField方 法的语句格式:Set fed=tbe.CreateField(name,type,size)其中:fed 是字段对象变量。tbe 是表对象变量。name是字段名。type 是字段的数据类型,要用英文字符表示,如 dbText 表示文本型,dbInteger 表示整型。size 表示字段大小。,3RecordSet 对象的常用属性和方法,RecordSet 对象代表一个表或查询中的所有记录。RecordSet 对象提供了对记录的添加、删除和修改等操作的支持。RecordSet 对象的常用属性如表9-4所示。RecordSet 对

9、象的常用方法如表9-5所示。,表9-4 RecordSet对象的常用属性,表9-5 RecordSet 对象的常用方法的方法,9.2.4 利用DAO访问数据库,在 VBA 编程中,利用 DAO 实现对数据库访问时,要先创建对象变量,再通过对象方法和属性来进行操作。下面通过例子介绍利用 DAO 实现对数据库访问的一般语句和步骤:,例9-2(DAO数据库编程例),例9-2编写一个使用DAO的名为UseDaoUpdateAge的子过程,通过调用该子过程来完成对“职工管理”数据库的“职工基本资料”表的年龄字段值都加1的操作(假设“职工管理.accdb”数据库文件存放在E盘“E:Access”文件夹中,

10、“职工基本资料”表中的“年龄”字段的数据类型是整型)。本例的窗体名称为“例9-2使用DAO编程-年龄加1”。Cmd1 命令按钮的单击事件过程和 UseDaoUpdateAge 子过程的VBA程序代码如下:,例9-2 VBA代码,例9-3(DAO数据库编程例),例9-3 通过在VBA程序中使用DAO,在当前数据库中创建一个名为“用户表”的表。“用户表”的表结构如表9-6所示。该表的主键是“用户ID”字段。本例的窗体名是“例9-3 用 DAO 创建数据表”,窗体中的命令按钮名称是Cmd1。,例9-3VBA 代码,例9-4(DAO数据库编程例),例9-4通过在VBA程序中使用DAO,实现的当前数据库

11、中的“用户表”添加新记录。本例的窗体名是“例9-4用DAO往用户表添加记录”,如图9-2所示。,例9-4VBA 代码,9.3 ActiveX数据对象(ADO),ActiveX数据对象(ActiveX Data Objects,简称ADO)是基于组件的数据库编程接口,它可以对来自多种数据提供者的数据进行读取和写入操作。在Access模块设计时要使用ADO的各个数据对象,需要增加对ADO库的引用。其中,在Access 2010中,要在VBA程序中使用ADO来访问(*.accdb)数据库,需要增加对“Microsoft ActiveX Data Objects 6.1 Library”库的引用。该引

12、用的设置方法:打开VBE窗口,单击菜单栏上的“工具”,单击“工具”菜单中的“引用”项,弹出“引用”对话框,从“可使用的引用”列表项中,选中“Microsoft ActiveX Data Objects 6.1 Library”项的复选框,如图9-4所示,然后单击“确定”按钮。本节仅介绍使用ADO来访问(*.accdb)数据库.,9.3.1 ADO模型结构,ADO对象模型图如图9-5所示,它提供一系列数据对象供使用。不过,ADO 接口与 DAO不同,ADO对象不须派生,大多数对象都可以直接创建(Field 和 Error 除外),没有对象的分级结构。使用时,只需在程序中创建对象变量,并通过对象变

13、量来调用访问对象方法、设置访问对象属性,这样就实现对数据库的各项访问操作。ADO 只需要九个对象和四个集合(对象)就能提供其整个功能。,图9-5ADO对象模型图,表9-7 ADO对象说明,9.3.2 ADO对象变量的声明,ADO 对象必须通过 VBA 程序代码来控制和操作。在代码中,必须设置对象变量,然后再通过对象变量使用其下的对象、或者对象的属性和方法。声明对象变量的语句格式:Dim 对象变量名称 As ADODB.对象类型 例如:Dim con As New ADODB.Connection 声明一个连接对象变量Dim res As New ADODB.RecordSet 声明一个记录集对

14、象变量 注意,ADODB 是 ADO 类型库的短名称,用于识别与DAO中同名的对象。例如,DAO中有 RecordSet 对象,ADO 中也有 RecordSet对象,为了能够区分开来,在 ADO 中声明RecordSet 类型对象变量时,用上 ADODB.RecordSet。总之,在ADO中声明对象变量时,一般都要用上“ADODB.”前缀。,9.3.3 ADO对象的部分属性和方法,1Connection 对象的常用方法(1)Open方法通过使用Connection 对象的Open方法来建立与数据源的连接。Open方法的语句格式:Dim 连接对象变量名 As New ADODB.Connect

15、ion连接对象变量名.Open ConnectionString,UserID,Password,OpenOptions例如,创建与“职工管理.mdb”数据库连接的语句:Dim cnn As New ADODB.Connection 声明一个连接对象变量cnncnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:Access职工管理.mdb,(2)Close方法 通过使用 Connection 对象的 Close 方法来关闭与数据源的连接。Close方法的语句格式:连接对象变量名.Close 注意,该语句可以关闭Connection 对

16、象,断开应用程序与数据源的连接。但是Connection 仍在内存中,释放 Connection 对象变量的方法是使用下面语句格式的语句:释放连接对象变量的语句格式:Set连接对象变量名=nothing 例如,关闭与“职工管理.accdb”数据库连接的语句:cnn.CloseSetcnn=nothing,(3)如果指定的数据源就是当前已经打开的数据库,则必须通过 CurrentProject 对象的Connection属性来取得连接。语句格式:Dim 连接对象变量名 As New ADODB.ConnectionSet 连接对象变量名=CurrentProject.Connection 例如:

17、创建与当前已经打开的数据库的连接:Dim cnn As New ADODB.Connection Set cnn=CurrentProject.Connection,2RecordSet 对象的常用属性和方法,建立 Recordset 对象的语句格式:Dim 记录集对象变量名 As ADODB.Recordset Set 记录集对象变量名=New ADODB.Recordset RecordSet 对象的常用属性如表9-8所示。RecordSet对象的常用方法如表9-9所示。,表9-8 RecordSet对象的常用属性,表9-9 RecordSet对象的常用方法,3Command 对象的常用属

18、性和方法,(1)建立 Command 对象 建立 Command 对象的语句格式:Dim 对象变量名 As New ADODB.Command(2)Command 对象的常用属性如表9-10所示。(3)Command对象的常用方法如表9-11所示。,表9-10 Command对象的常用属性,表9-11 Command对象的常用方法,9.3.4 利用ADO访问数据库,在VBA编程中,利用ADO实现对数据库访问时,要先创建对象变量,再通过对象方法和属性来进行操作。注意,在 Access 的 VBA 语言中,为 ADO 提供了类似 DAO 的数据库打开快捷方式,即CurrentProject.Con

19、nection,它指向一个默认的ADODB.Connection 对象,该对象与当前数据库的Jet OLE DB服务提供者一起工作。不像CurrentDB()是可选的,用户必须使用CurrentProject.Connection 作为当前打开数据库的 ADODB.Connection 对象。,例9-5(ADO数据库编程例子),例9-5编写一个使用ADO的名为UseAdoUpdateAge的子过程,通过调用该子过程来完成对“职工管理”数据库的“职工基本资料”表的年龄字段值都加1的操作(假设“职工管理.accdb”数据库文件存放在E盘“E:Access”文件夹中,“职工基本资料”表中的“年龄”字段的数据类型是整型)。本例的窗体名称为“例9-5使用ADO编程-年龄加1”。Cmd1 命令按钮的单击事件过程和 UseAdoUpdateAge 子过程的 VBA 程序代码如下:,例9-5 VBA代码,打开“例9-5 使用ADO编程-年龄加1”窗体视图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号