VBA 连接MySQL数据库
编写Excel VBA工具,连接并操作Mysql 数据库。
系统环境:
OS:Win7 64位 英文版
Office 2010 32位 英文版
1、VBA连接MySql前的准备
Tools--->References..---->引用
勾选Microsoft ActiveX Data Objects 2.8 Librarys 和Microsoft ActiveX Data Objects Recordset 2.8 Librarys
如下图所示:
2、安装Mysql ODBC连接服务
下载连接:https://dev.mysql.com/downloads/connector/odbc
注意:这里使用32位的版本
如下图所示:
3、下载上图中Windows(x86,32-bit),Zip Archive版本,在测试中,使用64位的版本无法连接到Mysql
把下载上述文件拷贝放到资源管理器里,放到合适位置,解压,点击里面的install.bat批处理文件。
从“控制面板”--->“管理工具”---->ODBC,打开以后,从这个里面无法看到Mysql的驱动,实际上使用的是下面32位的ODBC驱动
C:\Windows\SysWOW64\文件夹下的odbcad32.exe
4、VBA 代码如下:
Sub TestConnectTodb()Dim conn As ADODB.ConnectionDim rs As ADODB.RecordsetSet conn = New ADODB.ConnectionSet rs = New ADODB.Recordsetconn.ConnectionString = "Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Port=3306;Database=test;Uid=root;Pwd=123456;OPTION=3;"conn.Openrs.Open "select * from employee", connWith ThisWorkbook.Worksheets("Sheet1").Range("B2").CopyFromRecordset rs '从B2位置开始复制到Sheet1页面中End With' Sheet1.Cells(1, 1) = rs(0) 'rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
' Sheet1.Cells(1, 2) = rs(1) rs.Close: Set rs = Nothingconn.Close: Set conn = NothingMsgBox "处理完毕!"
End Sub
代码演示结果如下:
数据库数据有两条
将数据全部取出:
关于 Set rs = New ADODB.Recordset 中的“rs” 参考函数:
在RecordSet组件中,常用的属性和方法有:
rs.Fields.Count:RecordSet对象字段数。
rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1
rs(i):第i个字段的数据,i为0至rs.Fields.Count-1
rs("字段名"):指定字段的数据。
rs.Record.Count:数据记录总数。
rs.EOF:是否最后一条记录。
rs.MoveFirst:指向第一条记录。
rs.MoveLast:指向最后一条记录。
rs.MovePrev:指向上一条记录。
rs.MoveNext:指向下一条记录。
rs.GetRows:将数据放入数组中。
rs.Properties.Count:ADO的ResultSet或Connection的属性个数。
rs.Properties(item).Name:ADO的ResultSet或Connection的名称。
rs.Properties:ADO的ResultSet或Connection的值。
VBA 连接MySQL数据库相关推荐
- vba mysql连接字符串_分享一个VBA连接mysql数据库的方法
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Dim strcn As String Dim cn As New ADODB.Connection '构造函数 Private Sub Class_In ...
- VBA 连接Oracle 数据库
Sub?linkOracle()?? ?? ????Dim?strConn?As?String??'连接字符串?? ?????? ????Dim?dbConn?As?Object??'连接对象?? ? ...
- wps 直连连mysql_WPS 表格如何连接MySQL 数据库?
展开全部 编写Excel VBA工具,连接并操作Mysql 数据库. 系统环境: OS:Win7 64位 英文版 Office 2010 32位 英文版 1.VBA连接MySql前的准备 Tools- ...
- 连接MySQL系列之(一)Excel和VBA连接MySQL
#一.VBA连接MySql前的准备 Tools--->References..---->引用勾选Microsoft ActiveX Data Objects 2.8 Librarys 和M ...
- Python和VBA连接MySQL
Python和Excel的VBA如何连接MySQL数据库 Python篇 Excel篇 接下来就是VBA连接MySQL Python篇 直接上代码 import pymysqlconn = pymys ...
- .net连接mysql数据_.net连接MYSQL数据库的方法及示例!
连接MYSQL数据库的方法及示例 方法一: 使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL 该组件为MYSQL为ADO.NET ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- python用django连接mysql_三分钟了解Django如何连接Mysql数据库
处理用户注册请求.Django连接MysqL数据库相关配置.数据库迁移命令: my_Dproject/app01/views.py 在views函数文件中添加register函数,来处理用户注册 ...
- eclipselink mysql_Eclipse连接MySQL数据库(傻瓜篇)
Eclipse连接MySQL数据库(傻瓜篇) 本来不想写这么简单人文章,在百度上搜索我这个标题,完全符合标题的一大堆.但我按照那些文章捣鼓了很久,就是不行. 我的环境:MySQL:mysql-esse ...
最新文章
- Dubbo负载均衡与集群容错
- linux文件历史,Linux文件系统的历史透视
- 高等数学:第十一章 无穷级数(3)正弦级数、余弦级数、周期为2L的周期函数的傅里叶级数
- H3C防火墙实现NAT+DHCP
- lua读取linux文件内容,使用lua模拟tail -n命令读取最后n行
- FFT快速傅式变换算法halcon算子,持续更新
- 20145318赵一《网络对抗》后门原理与实践
- ajax第一个例子,第一个ajax例子【ajax有哪几种啊,了解的指导哈】
- 希捷扩展PCIe产品组合 推出两款新闪存加速卡
- 正态分布的前世今生(下)
- StarUml:Exception EOleSysError in module StarUML.ex
- 二叉树(Binary Tree)
- 【板栗糖GIS】如何将3dmax数据导入到超图软件中
- 直销模式系统开发|双轨制度跟级差制度哪个模式比较好?
- 惠普1020打印机驱动安装教程
- dependency 和dependencyManagement 的区别
- 全国计算机能力挑战赛含金量高吗,大学里,有哪些含金量高,又容易得奖的国家级比赛?...
- 计算机网络原理实验实验一:使用网络协议分析仪Wireshark
- HDOJ2067_小兔的棋盘(卡塔兰数)
- eclipse出现Package jdk.internal.jimage.decompressor in both module java.base and module jrt.fs错误解决办法