暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

VBA+ADO+SQL,操作数据的另一扇门!

米宏Office 2022-05-26
169

我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office软件为其服务。支持我,也为自己加油!


微语: 健忘和笑点低,是快乐的标配!

熟悉VBA的朋友都知道,假如我们要操纵其它工作簿中的数据,大概率会先用Workbooks的Open方法打开此工作簿,处理完后再关闭。


能在不打开数据源表的情况下直接操作吗?


这就需要用到ADO对象。


ADO(ActiveX Data Objects)对象,它可以在我们操作的Excel和数据库之间架起一座桥梁,这个数据库可以是Access、SQL Server等,当然你也可以将Excel作为一个数据库,但Excel毕竟不是真正的数据库软件,所以如果你想把其当作数据库,在做表的时候一定要规范,比如不能有合并单元格,列字段不能为空等等。


用ADO在Excel和数据库之间建好桥梁后,SQL就该出场了。


SQL是什么?


SQL是一种结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。利用SQL语句可以对数据库进行增删查改等操作。


下面举个具体的例子:



在上面的文件夹下有个名称为数据源的文件,其中有张这样的表



现在我们关闭这个工作簿,用另一个工作簿查询此工作簿中的数据。


看下代码:


整个代码大致可以分为三个部分:

1、第一部分,建立与数据库的连接,这一部分基本是固定的写法,连接到Excel需要加extended properties=Excel 12.0。

2、第二部分,主要是写SQL语句、通过执行该语句得到记录集Recordset,并导入到Excel表中。

3、第三部分,关闭记录集,关闭连接,并释放记录集和ADO对象,此部分也相对固定。

所以只要会写SQL语句,对ADO对象稍微熟悉点,就完全可以利用SQL语句对数据库进行相应的操作。

比如我们只要查询姓名为A005的记录:


代码中只是修改了要执行的SQL语句而已:



本节先分享到这里,祝大家每天都有进步。

打开以下公众号,点击,服务→云课堂

系统学习Office知识,

购买的课程包素材答疑哦!

↙点击“阅读原文进入米宏学院

文章转载自米宏Office,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论