第7章用VBA访问ACCESS数据 库n ew

上传人:w****i 文档编号:91080260 上传时间:2019-06-21 格式:PPT 页数:27 大小:231.50KB
返回 下载 相关 举报
第7章用VBA访问ACCESS数据 库n ew_第1页
第1页 / 共27页
第7章用VBA访问ACCESS数据 库n ew_第2页
第2页 / 共27页
第7章用VBA访问ACCESS数据 库n ew_第3页
第3页 / 共27页
第7章用VBA访问ACCESS数据 库n ew_第4页
第4页 / 共27页
第7章用VBA访问ACCESS数据 库n ew_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第7章用VBA访问ACCESS数据 库n ew》由会员分享,可在线阅读,更多相关《第7章用VBA访问ACCESS数据 库n ew(27页珍藏版)》请在金锄头文库上搜索。

1、1,第7章 用VBA访问Access数据库,2,本章内容,7.1 记录集概述 7.2 在Access中引用ADO对象 7.3 引用记录字段 7.4 浏览记录 7.6 用ADO技术实现复杂查询,总结和作业、实验任务,3,7.1 记录集概述,7.1.1 ADO的9个对象 7.1.2 了解记录集,4,7.1.1 ADO的9个对象,ADO:ActiveX Data Objects Access内嵌的VBA是用ADO技术开发数据库应用的主要工具 ADO对象模型有9个对象: Connection、Recordset、Record、Command、Parameter、Field、Property、Strea

2、m、Error 常用对象:Connection、Command、Recordset,5,7.1.1 ADO的9个对象,Connection对象:ADO对象模型中最高级的对象,实现应用程序与数据源的连接。 Command对象:主要作用是在VBA中通过SQL语句访问、查询数据库中的数据。可以实现Recordset对象不能完成的操作,如创建数据表、修改表结构、删除表等。 Recordset对象的功能最常用、最重要,6,7.1.2 了解记录集,记录集(Recordset):对表执行查询操作时,返回的一组特定记录。 用记录集可执行的操作:对表中的数据进行查询和统计,在表中添加、更新或删除记录。 记录集是

3、一个对象,它包括记录和字段,具有其特定的属性和方法,利用这些属性和方法就可以编程处理数据库中的记录。,7,7.2 在Access中引用ADO对象,应用程序中的ADO引用:声明Connection对象创建Recordset对象编程完成各种数据访问操作 7.2.1 声明Connection对象 7.2.2 声明与打开Recordset对象 7.2.3 关闭Recordset和Connection对象,8,7.2.1 声明Connection对象,(1) 声明一个Connection对象 (2) 初始化Connection对象(决定Connection对 象与哪个数据库相连接) 例如: Dim cn

4、Graduate As ADODB.Connection Set cnGraduate=CurrentProject.Connection,9,7.2.2 声明与打开Recordset对象,(1) 声明Recordset对象 (2) 创建Recordset对象实例 (3) 打开Recordset对象 例如: Dim rsStudents As ADODB.Recordset Set rsStudents=New ADODB.Recordset rsStudents.Open “研究生“, cnGraduate, , , adCmdTable,前面声明的Connection对象,表名称,打开的是

5、表对象,参数占位符,10,7.2.3 关闭Recordset和Connection对象,方法:执行Recordset 对象和Connection对象的Close方法 将对象设置为Nothing 例如: rsStudents.Close cnGraduate.Close Set rsStudents=Nothing Set cnGraduate=Nothing 上述语句不是必须的。应用程序终止运行时,系统会自动关闭并清除这两个对象。,11,7.3 引用记录字段,任何对记录集的访问都是针对当前记录进行的。打开记录集时默认的当前记录为第1条记录。 引用记录的字段: 直接在记录集对象中引用字段名称 C

6、ode=rsStudents!学号 使用记录集对象的Fields(n)属性。 n是记录中字段从左到右的排列序号,第一个字段的序号为0。 Code=rsStudents.Fields(0),12,7.3 引用记录字段,例7-1 建立名为ADO的模块,编写如下过程。运行该过程后,输出对话框显示“导师”表中第一位教师的编号和姓名。,13,7.3 引用记录字段,记录集更多的应用是在窗体对象上:建立一个空白窗体设计各个控件编程引用记录集当前记录的相关字段或将字段的值通过控件显示 注意:如果涉及数据访问的事件过程不止一个,可在代码窗口的通用段定义Connection对象和Recordset对象,然后在Fo

7、rm_Load事件过程中完成数据库连接和数据表的打开。,14,7.3 引用记录字段,运行: 分别单击“导师编号”和“导师姓名”按钮,窗体设计视图 (删除导航按钮),例7-2:设计窗体,显示第一位导师的编号和姓名,15,7.3 引用记录字段,例7-2窗体程序代码,16,7.4 浏览记录,Recordset记录集对象提供了4种记录指针的移动方法 MoveFirst 记录指针移到第一条记录 MoveNext 记录指针移到当前记录的下一条记录 MovePrevious 记录指针移到当前记录的上一条记录 MoveLast 记录指针移到最后一条记录,17,7.4 浏览记录,Recordset记录集的BOF

8、和EOF属性用于判断记录指针是否处于有记录的正常位置 记录指针将指向最后一条记录之后,EOF属性为True 记录指针将指向第一条记录之前,BOF属性为True BOF和EOF属性的值均为True,表示记录集为空,18,7.4 浏览记录,例7-3 对例7-2进行修改,增加如下事件过程代码: Private Sub Command3_Click() 单击“下一个记录”按钮 rsTeacher.MoveNext End Sub,19,7.4 浏览记录,上面的过程隐含错误:移至最后一条记录后无法再下移指针,将出现运行错误信息框。 两种纠正错误的方法: 如果记录集的EOF属性为True,就回到第一条记录

9、 如果记录集的EOF属性为True,就回到最后一条记录,20,7.4 浏览记录,21,7.4 浏览记录,方法2的程序还将运行出错。因为Recordset对象有一个名为LockType的属性,默认值为adLockReadOnly,此时只能浏览记录数据,记录的移动方式也只能是MoveNext和MoveFirst,不能执行MoveLast和MovePrevious操作。,22,7.4 浏览记录,修改:将该记录集对象的LockType属性设置成adLockPessimistic或adLockOptimistic rsTeacher.LockType = adLockPessimistic rsTeac

10、her.Open “导师“, cnGraduate, , , adCmdTable,23,7.4 浏览记录,如果数据表中没有记录,即BOF和EOF同时为True,就不能引用表中的数据。 将单击“导师姓名”按钮的事件过程改写如下 Private Sub Command2_Click() If rsTeacher.BOF = True And rsTeacher.EOF = True Then Text1.Value = “ Else Text1.Value = rsTeacher!姓名 End If End Sub,24,7.6 用ADO技术实现复杂查询,例7-8 在ADO模块中建立Sex过程:

11、统计并在输出对话框中显示男、女研究生人数比。要求以人数多的一方为1、放在右侧、保留小数两位。,程序分析:先遍历全部记录,分别统计出男、女研究生人数。如果男生人数多于女生,则男生人数为1,女生人数改为女生人数除以男生人数;反之亦然。,25,Sub Sex() (定义对象、完成与数据库的连接、打开研究生表、定义变量) Student.MoveFirst Do While Not Student.EOF 统计男、女研究生人数 If Student!性别 = “男“ Then Boy = Boy + 1 If Student!性别 = “女“ Then Girl = Girl + 1 Student.

12、MoveNext Loop If Girl = Boy Then 以男生人数为1 MsgBox “女:男=“ & Format(Girl / Boy, “0.00“) & “:1“ Else 以女生人数为1 MsgBox “男:女=“ & Format(Boy / Girl, “0.00“) & “:1“ End If End Sub,7.6 用ADO技术实现复杂查询,26,本章总结,记录集概述 ADO、Connection对象、Recordset对象 在Access中引用ADO对象 引用记录字段 浏览记录 MoveFirst、MoveNext、MovePrevious、MoveLast EOF、BOF 用ADO技术实现复杂查询,27,实验6-用VBA访问Access数据库,第7章课本上的例题 例7-3、例7-8 以“用VBA访问Access数据库班级姓名.mdb”提交实验成果,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号