人气 4010

在VBA中使用SQL必须要知道的几点 [复制链接]

时时钟无艳 2017-3-20 16:57:28
设置SQL所需的VBA环境:第一步:ALT+F11快捷键,打开VBA界面第二步:选择“工具”--“引用”,勾选“MicrosoftActiveX Data Objects 2.8 Library”,并单击“确定”按钮。利用ADO连接数据库:语法如下:Connection.Open 连接文本,用户名,密码,选项其中:连接文本是一个包含有关连接信息的字符串;用户名是一个字符串,包含建立连接时要使用的用户名称;密码是一个字符串,包含建立连接时要使用的密码;选项是一个整型数值,确定是在建立连接之后(同步)还是在建立连接之前(异步)返回本方法。-1(默认值)代表同步打开连接,16代表异步打开连接。利用ADO执行SQL查询之后,在EXCEL中输出结果:语法:单元格对象.CopyFromRecordsetAdoconn.Execute(SQL语句)其中,单元格对象是结果输入的起始点(即结果数据最左上角的单元格),SQL语句为执行查询的SQL语句。但需要注意的是:利用该输出方式将结果写入工作表中,其结果是没有标题行的ADO连接不同的数据库(摘选,具体的请见利用ADO组件进行数据库连接笔记处)连接EXCEL2007以上的工作簿,参考代码如下:strConn ="Provider=Microsoft.ACE.OLEDB.12.0;" & _"Data Source=" & ThisWorkbook.Path &Application.PathSeparator & _"数据库.xls;ExtendedProperties=””Excel 12.0;HDR=YES””;"连接EXCEL2003,参考代码如下:strConn ="Provider=Microsoft.ACE.OLEDB.4.0;" & _"Data Source=" & ThisWorkbook.Path &Application.PathSeparator & _"数据库.xls;ExtendedProperties=””Excel 8.0;HDR=YES””;"其中,HDR=YES表示数据中的第一行为列(字段)的名称,如果省略该参数或HDR=No,那么将认为表中全是数据,无列名。对于带有密码保护的EXCEL工作簿,ADO无法打开,只有当该工作簿已经打开时,ADO才可以正常连接。
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )|网站地图

GMT+8, 2024-12-22 19:40 , Processed in 0.215939 second(s), 19 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN