《VBA数据库解决方案》教程(10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。
这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:第六讲:VBA与ACCESS的ADO连接中,所涉及的对象
【分享成果,随喜正能量】身心是我们修行的代表,你是不是真修行,修得怎么样,一看你的相、看你的身体就知道了。你的功夫就在你脸上、就在你行为上,你怎么能骗人?。
第六讲 VBA与ACCESS的ADO连接中,所涉及的对象
大家好,今日继续讲解VBA数据库解决方案,在上几讲的内容中我们对数据库有了一个大概的了解,同时我们也清楚了连接数据库的不同方式,并对各个连接方式加以比较。今日的内容是深入的理解ADO与数据连接后的一些知识的准备.连接好数据后我们要进行的操作将更为具体。
在之前的讲解中,我一直在提ADO,ADO是DAO的后继产物。相比DAO,ADO扩展了DAO使用的层次对象模型,用较少的对象、更多的方法和事件来处理各种操作,简单易用,是当前数据库开发的主流技术。那么,ADO涉及到的对象都有哪些呢?今日我们就来深入的讲解.或许你之前看过数据库的一些文章,或者你是数据库的高手,但还是要理解或者了解到一些必要的知识.
1Connection对象
Connection对象是ADO对象模型中最高级的对象,这个对象实现了应用程序与数据源的连接。在上一讲和之前的内容中着重讲了如何实现的这个连接的问题.
2 Command对象
Command对象对象的主要作用是在VBA中通过SQL语句访问、查询数据库中的数据。
那么,什么是SQL 语句呢?这个词是英语Structured Query Language的首字母写法,翻译过来就是结构化查询语言,结构化查询语言是一种数据库查询和程序设计语言,可以用于存取数据以及查询、更新和管理关系数据库系统。
那么什么是结构化呢?所谓结构化,就是格式固定:
如:“select 表1.字段,表2.字段,表3.字段from 表名1,表名2,表名3...where 条件group by 字段order by 字段”.就要一段结构化的查询语句,非常易学,好记忆.
3 Recordset对象
Recordset对象是这讲要讲的重点,他是存储访问表和查询对象返回的记录集合。使用该对象,可以浏览记录、修改记录、添加新的记录或者删除特定的记录。Recordset对象的功能是最常用、最重要的,我们在以后的代码中也是主要使用这个对象来完成我们的一些需求.
所有Recordset对象均使用记录(行)和字段(列)进行构造。具有其特定的属性和方法,使用ADO时,通过Recordset对象,利用这些属性和方法就可以编程处理数据库中的记录。
可对几乎所有数据进行操作。用这个记录集可执行的操作有:对表中的数据进行查询和统计,在表中添加、更新或删除记录。下面要将一下Recordset对象常见的属性、方法、和事件,(如果对属性、方法、事件着三个词语不理解的请赶快查看我的第一部作品《VBA代码解决方案》中的相关内容,我的作品的风格是一样的,最好能连续的学习)
3.1 Recordset对象一些常见的属性:
3.1.1BOF如果当前的记录位置在第一条记录之前,则返回 true,否则返回 fasle。
3.1.2 EOF如果当前记录的位置在最后的记录之后,则返回 true,否则返回 fasle。
3.1.3 Index设置或返回 Recordset 对象的当前索引的名称。
3.1.4 RecordCount返回一个 Recordset 对象中的记录数目。
3.1.5 Source设置一个字符串值,或一个 Command 对象引用,或返回一个字符串值,此值可指示 Recordset 对象的数据源。
3.2 Recordset对象一些常见的方法
3.2.1 AddNew创建一条新记录。
3.2.2 Cancel撤销一次执行。
3.2.3 Close关闭一个 Recordset。
3.2.4 Delete删除一条记录或一组记录。
3.2.5 Find搜索一个 Recordset中满足指定某个条件的一条记录。
3.2.6Move在 Recordset对象中移动记录指针。
3.2.7 MoveFirst把记录指针移动到第一条记录。
3.2.8 MoveLast把记录指针移动到最后一条记录。
3.2.9 MoveNext把记录指针移动到下一条记录。
3.2.10 MovePrevious把记录指针移动到上一条记录。
3.2.11 NextRecordset通过执行一系列命令清除当前 Recordset 对象并返回下一个 Recordset。
3.2.12 Update保存所有对 Recordset 对象中的一条单一记录所做的更改。
3.2.13 Save把 Recordset 对象保存到 file 或 Stream 对象中。
3.2.14 UpdateBatch把所有,Recordset,中的更改存入数据库,请在批更新模式中使用
3.3 Recordset对象的事件
3.3.1 EndOfRecordset当试图移动到超过,Recordset,结尾的行时被触发
3.3.2 RecordChangeComplete一条记录更改之后被触发
好了,今日就讲到这里,下一讲还将接着讲解Recordset 对象,会离我们的实际操作越来越近了,大家还是不要急,要弄懂必要的知识点,哪怕只是了解些,再慢慢的熟悉。数据库是数字化的产物,虽然他的问世时间还不是很长,最多也不过六、七十年的时间,但他的积累却是几何级数的,特别是上个世纪90年代之后,随着各种算法的实现,数据库的利用越来越多。
今日内容回向:
1 ADO 中的主要对象有哪些?
2 你是否清楚,操作一个数据库要有哪些必要的步骤呢?
本讲内容参考程序文件:VBA与数据库操作(第一册).xlsm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中: