资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Access实例教程,潘明寒 赵义霞 主编中国水利水电出版社,ACCESS实例教程,数据库编程(第9章),1,用ADO访问数据库 2,用DAO访问数据库 3,程序运行错误处理,本章要点:,9.1 VBA数据库访问接口,VBA数据库访问接口是指VBA与后台数据库的连接部分,也就是VBA与Access数据库连接的方法。,9.1.1 三种数据库访问接口,1ODBC(Open Database Connectivity),ODBC称为“开放式数据库连接”,是一种关系数据源的接口界面。ODBC基于SQL(Structured Qurey Language),把SQL作为访问数据库的标准,一个应用程序通过一组通用代码访问不同的数据库管理系统。ODBC可以为不同的数据库提供相应的驱动程序。,2DAO(Data Access Objects)DAO称为“数据访问对象”,是一种面向对象的界面接口,提供一个访问数据库的对象模型,用其中定义的一系列数据访问对象,实现对数据库的各种操作。使用DAO的程序编码非常简单。 3ADO(ActiveX Data Objects)ADO称为“Active数据对象”,是基于组件的数据库编程接口。ADO实际是一种提供访问各种数据类型的连接机制,是一个与编程语言无关的COM(Component Object Model)组件系统。ADO设计为一种极简单的格式,可以方便地连接任何符合ODBC标准的数据库。,http:/www.gelishfw.com/ http:/www.gybcny.com/ http:/www.hd8go.com/ http:/www.sj93.cn/ http:/www.mdwxz88.com/ http:/www.oemgc.com/ http:/www.189288.com/ http:/www.hzp580.com http:/www.yjoem.com/ http:/www.oemdg.com/ http:/www.oemfy.com/ http:/www.xcdnpx.com/ http:/www.yanjigz.com/ http:/www.189286.com/ http:/www.xcdnpx.com/ http:/www.dgxcdn.com http:/www.dgxcpx.com/ http:/www.xcwxpx.com/ http:/www.xunchi-px.com/ http:/www.donghuijc.com/http:/www.oemfy.com/http:/www.0759mz.com/http:/www.lczx188.com/ http:/www.189287.com/ http:/www.ystdzkj.com/ http:/www.023gree.com/ http:/www.glwxz.com/ http:/www.023midea.net/ http:/www.023chigo.com/http:/www.023aux.com/ http:/www.023haier.net/ http:/www.023xiu.com/ http:/www.51xiu.org/ http:/www.023vatti.com/ http:/www.meidix.com/ http:/www.ystdzkj.com/ http:/www.ystmach.com/ http:/www.ystcode.com/ http:/www.hthqdb.com/http:/www.023midea.net/ http:/www.gz-bestally.com/ http:/www.gz-bestally.com/ http:/www.gz-bestally.com/http:/www.ystmach.com/ http:/www.ystcode.com/ http:/www.gzdzbjbw.com/ http:/www.gzdzbjbw.com/,数据库引擎是一组动态链接库DLL(Dynamic Link Library),在程序运行时被连接到VBA,实现对数据库的数据访问功能。是应用程序与物理数据库之间的桥梁。VBA通过DAO和数据引擎可以识别3类数据库:1本地数据库:即Access数据库。2外部数据库:所有索引顺序访问方法(ISAM)数据库,如VFP。也可以访问文本文件数据库和Microsoft Excel或Lotus1-2-3电子表格。3ODBC数据库:符合ODBC标准的C/S数据库,如SQL Server、Oracle。,9.2.1 DAO模型结构,DAO模型是设计关系数据库系统结构的对象类的集合,它们提供了管理关系型数据库系统所需的全部操作的属性和方法,这其中包括创建数据库、定义表、字段和索引、建立表之间的关系、定位和查询数据库等。,9.2 用DAO访问数据库,3.2 统配符、运算符与常用函数,9.2.2 DAO对象简介,1DBEngine对象,处于最顶层,表示数据库引擎,是模型中惟一不被其他对象所包含的对象,它包含并控制DAO模型中其他全部对象。 2Workspace对象,表示工作区,可以使用隐含的workspace对象。 3Database对象,代表到数据库的连接,表示操作的数据库对象。 4RecordSet对象,代表一个数据记录的集合,该集合的记录来自于一个表、一个查询或一个SQL语句的运行结果。 5Field对象,表示记录集中的字段。 6QueryDef对象,表示数据库查询信息。 7Error对象,表示数据提供程序出错时的扩展信息。,9.2.3 用DAO访问数据库,用DAO访问数据库时,先在程序中设置对象变量,然后通过对象变量调用访问对象的方法、设置访问对象的属性,从而实现对数据库的各种访问。定义DAO对象要在对象前面加上前缀“DAO”用DAO访问数据库的一般语句和步骤。 Dim ws as DAO.Workspace 定义Workspace对象变量 Dim db as DAO.Database 定义Database对象变量 Dim rs as DAO.RecordSet 定义RecordSet对象变量 Dim fd as DAO.Field 定义Field对象变量 Set ws=DBEngine.Workspace(o) 打开默认工作区 Set db=ws.OpenDatabase(数据库的地址与文件名) 打开数据库 Set rs=db.OpenRecordSet(表名、查询名或SQL语句) 打开记录集,Do While not rs.EOF 循环遍历整个记录集直至记录集末尾 对字段的各种操作 rs.MoveNext 记录指针移到下一条 Loop 返回到循环开始处 rs.close 关闭记录集 db.close 关闭数据库 set rs=nothing 释放记录集对象变量所占内存空间 set db=nothing 释放数据库对象变量所占内存空间 说明:如果是本地数据库,可以省略定义Workspace对象变量,打开工作区和打开数据库两条语句用下面一条语句代替: Set db = CurrentDb() 该语句是Access的VBA给DAO提供的数据库打开快捷方式。,http:/www.gelishfw.com/ http:/www.gybcny.com/ http:/www.hd8go.com/ http:/www.sj93.cn/ http:/www.mdwxz88.com/ http:/www.oemgc.com/ http:/www.189288.com/ http:/www.hzp580.com http:/www.yjoem.com/ http:/www.oemdg.com/ http:/www.oemfy.com/ http:/www.xcdnpx.com/ http:/www.yanjigz.com/ http:/www.189286.com/ http:/www.xcdnpx.com/ http:/www.dgxcdn.com http:/www.dgxcpx.com/ http:/www.xcwxpx.com/ http:/www.xunchi-px.com/ http:/www.donghuijc.com/http:/www.oemfy.com/http:/www.0759mz.com/http:/www.lczx188.com/ http:/www.189287.com/ http:/www.ystdzkj.com/ http:/www.023gree.com/ http:/www.glwxz.com/ http:/www.023midea.net/ http:/www.023chigo.com/http:/www.023aux.com/ http:/www.023haier.net/ http:/www.023xiu.com/ http:/www.51xiu.org/ http:/www.023vatti.com/ http:/www.meidix.com/ http:/www.ystdzkj.com/ http:/www.ystmach.com/ http:/www.ystcode.com/ http:/www.hthqdb.com/http:/www.023midea.net/ http:/www.gz-bestally.com/ http:/www.gz-bestally.com/ http:/www.gz-bestally.com/http:/www.ystmach.com/ http:/www.ystcode.com/ http:/www.gzdzbjbw.com/ http:/www.gzdzbjbw.com/,例:用DAO访问数据库,(1)在窗体建2个文本框名称分别为t1和t2附加标签的标题分别为“姓名”和“工资”。 (2)在窗体页眉添加标签标题为“工资增加10%”。 (3)在窗体页脚建命令按钮名称为c1标题为“显示第一条记录”。,(4)给命令按钮的单击事件写代码如下: Dim db as DAO.Database 定义Database对象变量 Dim rs as DAO.Recordset 定义Recordset对象变量 Dim fd as DAO.Field 定义Field对象变量 Set db = CurrentDb() 建立与当前数据库的连接 Set rs = db.OpenRecordset(“gz“) 建立与gz表的连接 Set fd = rs.Fields(“工资“) 设置对“工资”字段的引用 Do While Not rs.EOF 如果指针没有到最后就执行循环体 rs.Edit 使rs处于可编辑状态 fd = fd + fd * 0.1 给指定字段值增加10% rs.Update 更新表,rs.MoveNext 向下移动指针 Loop 返回到循环开始处 rs.MoveFirst 指针移到第一条记录 t1 = rs.Fields(“姓名“) 将姓名字段的值显示在t1中 t2 = rs.Fields(“工资“) 将工资字段的值显示在t2中 rs.Close db.Close Set rs = Nothing Set db = Nothing,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号