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

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10857464.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ACCESS实例教程--数据库编程(第9章).ppt)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

ACCESS实例教程--数据库编程(第9章).ppt

1、1,数据库编程(第9章),2,1,用ADO访问数据库 2,用DAO访问数据库 3,程序运行错误处理,本章要点:,3,9.1 VBA数据库访问接口,VBA数据库访问接口是指VBA与后台数据库的连接部分,也就是VBA与Access数据库连接的方法。,9.1.1 三种数据库访问接口,1ODBC(Open Database Connectivity),ODBC称为“开放式数据库连接”,是一种关系数据源的接口界面。ODBC基于SQL(Structured Qurey Language),把SQL作为访问数据库的标准,一个应用程序通过一组通用代码访问不同的数据库管理系统。ODBC可以为不同的数据库提供相应

2、的驱动程序。,4,2DAO(Data Access Objects)DAO称为“数据访问对象”,是一种面向对象的界面接口,提供一个访问数据库的对象模型,用其中定义的一系列数据访问对象,实现对数据库的各种操作。使用DAO的程序编码非常简单。 3ADO(ActiveX Data Objects)ADO称为“Active数据对象”,是基于组件的数据库编程接口。ADO实际是一种提供访问各种数据类型的连接机制,是一个与编程语言无关的COM(Component Object Model)组件系统。ADO设计为一种极简单的格式,可以方便地连接任何符合ODBC标准的数据库。,5,数据库引擎是一组动态链接库DL

3、L(Dynamic Link Library),在程序运行时被连接到VBA,实现对数据库的数据访问功能。是应用程序与物理数据库之间的桥梁。VBA通过DAO和数据引擎可以识别3类数据库:1本地数据库:即Access数据库。2外部数据库:所有索引顺序访问方法(ISAM)数据库,如VFP。也可以访问文本文件数据库和Microsoft Excel或Lotus1-2-3电子表格。3ODBC数据库:符合ODBC标准的C/S数据库,如SQL Server、Oracle。,6,9.2.1 DAO模型结构,DAO模型是设计关系数据库系统结构的对象类的集合,它们提供了管理关系型数据库系统所需的全部操作的属性和方法

4、,这其中包括创建数据库、定义表、字段和索引、建立表之间的关系、定位和查询数据库等。,9.2 用DAO访问数据库,7,3.2 统配符、运算符与常用函数,9.2.2 DAO对象简介,1DBEngine对象,处于最顶层,表示数据库引擎,是模型中惟一不被其他对象所包含的对象,它包含并控制DAO模型中其他全部对象。 2Workspace对象,表示工作区,可以使用隐含的workspace对象。 3Database对象,代表到数据库的连接,表示操作的数据库对象。 4RecordSet对象,代表一个数据记录的集合,该集合的记录来自于一个表、一个查询或一个SQL语句的运行结果。 5Field对象,表示记录集中的

5、字段。 6QueryDef对象,表示数据库查询信息。 7Error对象,表示数据提供程序出错时的扩展信息。,8,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

6、fd as DAO.Field 定义Field对象变量 Set ws=DBEngine.Workspace(o) 打开默认工作区 Set db=ws.OpenDatabase(数据库的地址与文件名) 打开数据库 Set rs=db.OpenRecordSet(表名、查询名或SQL语句) 打开记录集,9,Do While not rs.EOF 循环遍历整个记录集直至记录集末尾 对字段的各种操作 rs.MoveNext 记录指针移到下一条 Loop 返回到循环开始处 rs.close 关闭记录集 db.close 关闭数据库 set rs=nothing 释放记录集对象变量所占内存空间 set d

7、b=nothing 释放数据库对象变量所占内存空间 说明:如果是本地数据库,可以省略定义Workspace对象变量,打开工作区和打开数据库两条语句用下面一条语句代替: Set db = CurrentDb() 该语句是Access的VBA给DAO提供的数据库打开快捷方式。,10,例:用DAO访问数据库,(1)在窗体建2个文本框名称分别为t1和t2附加标签的标题分别为“姓名”和“工资”。 (2)在窗体页眉添加标签标题为“工资增加10%”。 (3)在窗体页脚建命令按钮名称为c1标题为“显示第一条记录”。,11,(4)给命令按钮的单击事件写代码如下: Dim db as DAO.Database 定

8、义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 更新表,1

9、2,rs.MoveNext 向下移动指针 Loop 返回到循环开始处 rs.MoveFirst 指针移到第一条记录 t1 = rs.Fields(“姓名“) 将姓名字段的值显示在t1中 t2 = rs.Fields(“工资“) 将工资字段的值显示在t2中 rs.Close db.Close Set rs = Nothing Set db = Nothing,13,(5)转到窗体视图单击命令按钮,可以看到t2文本框中显示第一条记录更新后的工资值。,14,9.3 用ADO访问数据库,9.3.1 ADO模型结构,ADO对象模型是一系列对象的集合,对象不分级,除Field对象和Error对象之外,其他

10、对象可直接创建。使用时,通过对象变量调用对象的方法、设置对象的属性,实现对数据库的访问。,15,9.3.2 ADO对象简介,1Connection对象,建立到数据源的连接。 2Command对象,表示一个命令。 3RecordSet对象,表示数据操作返回的记录集合。 4Field对象,表示记录集中的字段。 5Error对象,表示数据提供程序出错时的扩展信息。Connection对象与RecordSet对象是两个ADO中最重要的对象。RecordSet对象可以分别与Connection对象和Command对象联合使用。,16,9.3.3 用ADO访问数据库,首先创建对象变量,然后用对象的方法和属

11、性访问数据库。为了与DAO中同名对象有所区分,ADO对象的前面要加上前缀“ADODB”。用ADO访问数据库的一般语句和步骤:,1RecordSet对与Connection对象联合使用 Dim cn as new ADOBD.Connection 建立连接对象 Dim rs as new ADOBD.RecordSet 建立记录集对象 cn.Provider=“Microsoft.Jet.OLEDB.4.0“ 设置数据提供者 cn.Open 连接字符串 打开数据库 rs.Open 查询字符串 打开记录集 do while not rs.EOF 循环开始 对字段的各种操作 rs.movenext

12、记录指针移到下一条,17,loop 返回到循环开始处 rs.close 关闭记录集 cn.close 关闭连接 set rs=nothing 释放记录集对象变量所占内存空间 set cn=nothing 释放连接对象变量所占内存空间 说明:对于本地数据库,Access的VBA也给ADO提供了类似于DAO的数据库打开快捷方式,可以将设置数据提供者和打开数据库两条语句用下面一条语句代替:Set cn = CurrentProject.Connection(),18,2RecordSet对与Command对象联合使用 Dim cm as new ADOBD.Command 建立命令对象 Dim rs

13、 as new ADOBD.RecordSet 建立记录集对象 cm.ActiveConnection=连接字符串 建立命令对象的活动连接 cm.CommandType=查询类型 指定命令对象的查询类型 cm.CommandText=查询字符串 建立命令对象的查询字符串 rs. Open cm, 其他参数 打开记录集 do while not rs.EOF 循环开始 对字段的各种操作 rs.movenext 记录指针移到下一条 loop 返回到循环开始处 rs.close 关闭记录集 set rs=nothing 释放记录集对象变量所占内存空间,19,例:用ADO访问数据库,(1)在窗体建3个

14、文本框名称分别为t1、t2和t3。 (2)在窗体页眉添加标签标题为“工员增加”。 (3)在窗体页脚建命令按钮名称为c1标题为“追加到表中”。,20,(4)命令按钮c1的单击事件代码: Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim str1 As String Set cn = CurrentProject.Connection 建立本地连接 rs.ActiveConnection = cn rs.Open “Select 教师编号 From 教师 Where 教师编号= “+t1+“ “ If rs.EOF =

15、 False Then MsgBox “该编号已存在,不能追加!“ Else str1 = “Insert Into 教师 (教师编号,姓名,性别)“ str1 = str1 + “Values(“+t1+“ , “+t2+“ , “+t3+“ )“ cn.Execute str1 执行指定的SQL语句,21,MsgBox “添加成功,请继续!“End Ifrs.Closecn.CloseSet rs = NothingSet cn = Nothing 说明: 在程序中,用 “+t1+“ 取得文本框t1中的值,原来用双引号定界的地方改为单引号。两个相同的引号不能连着写。 Execute 是Co

16、mmand 对象和Connection对象的方法,执行指定的查询,并将执行产生的结果存储在 Recordset 对象中。,22,(5)转到窗体视图,如果输入的编号与表中的编号有重复,单击命令按钮后显示消息框,输入的信息不能追加到表中。,23,(6)如果输入的编号与表中的编号不重复,单击命令按钮后显示消息框,输入的信息被追加表中。,24,9.4 VBA程序错误处理,VBA提供了On Error语句,用来控制当有错误发生时程序的处理,启动一个错误处理程序并指定该子程序在一个过程中的位置。一个错误处理程序不是 Sub 过程或 Function 过程,它是一段用行号标记的代码。,9.4.1 On Er

17、ror语句的语法,On Error语句的语法通常有3种样式:,25,1On Error GoTo 行号 启动错误处理程序,如果发生一个运行时错误,控件会转到行号所指位置,执行其中的代码。指定的行号必须在一个过程中,这个过程与 On Error 语句所在的过程相同。 例如: On Error GoTo aa 如果发生错误转到aa处 aa: 行号aa错误处理程序代码 处理错误 功能:当程序发生错误,跳转到aa位置执行。,26,2On Error Resume Next 当一个运行错误发生时,不考虑错误,继续执行下一条语句。访问对象时要使用这种形式而不使用 On Error GoTo语句。 3On

18、Error GoTo 0关闭错误处理,禁止当前过程中任何已启动的错误处理程序。,27,9.4.2 了解错误信息,1Err对象Err是一个含有运行时错误信息的对象,Err对象的number属性返回错误代码。用Err.Source可以帮助确定是哪个对象产生错误,用 Err.Number 可以帮助确定是哪个对象将错误代码放在其中。 Err 是全局范围的固有对象,在代码中不必建立这些对象的实例。 2Rrror函数格式:Rrror(错误号)Rrror函数的自变量是一个有效的错误号,函数返回与已知错误号对应的错误信息。如果不是有效的错误号,会导致错误发生。错误号是可选项,如果省略,将返回与最近一次运行错误

19、对应的消息。如果没有发生运行错误,或者错误号是 0,则 Error函数 返回一个长度为零的字符串 (“)。,28,例:错误处理练习,(1)建文本框名称为t1建立命令按钮名称为c1。 (2)命令按钮c1的单击事件代码: Private Sub c1_Click() On Error GoTo aa 如发生错误转到行号aa Dim s1 As String s1 = t1 DoCmd.OpenQuery s1, acViewNormal, acEdit 打开查询 bb: 行号bb Exit Sub 退出过程 aa: 行号aa MsgBox “没有此查询,请重新输入!“ Resume bb 转到行号bb End Sub,29,(3)转到窗体视图,在文本框输入“男讲师”,单击命令按钮,显示名为“男讲师”的查询。,30,(4)在文本框输入“女讲师”,单击命令按钮,调用错误处理机制,用消息框提示错误。,31,32,33,34,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报