【Excel】VBA编程 02 访问MySQL数据库

 

1、配置Windows连接驱动ODBC

因为是访问MySQL,则对应的ODBC驱动由MySQL厂商发布

https://dev.mysql.com/downloads/connector/odbc/

 

这里系统位数有个坑,要下载32位版

【Excel】VBA编程 02 访问MySQL数据库

安装64位版后执行VBA脚本却告诉我找不到ODBC驱动,想半天才知道系统位数原因

https://yebd1h.smartapps.cn/pages/blog/index?blogId=108721206&_swebfr=1&_swebFromHost=baiduboxapp

【Excel】VBA编程 02 访问MySQL数据库

又或者因为连接参数不对

【Excel】VBA编程 02 访问MySQL数据库

 

安装ODBC驱动之后,找到【管理工具】

把下面这个地址粘贴的【资源管理器】的地址栏上直接访问

控制面板\系统和安全\管理工具

分为64位和32位,双击32位

可以看到驱动列表中有了MySQL的驱动

【Excel】VBA编程 02 访问MySQL数据库

 

可以新建一个【用户DSN】来测试

【Excel】VBA编程 02 访问MySQL数据库

【Excel】VBA编程 02 访问MySQL数据库

 

 

2、Excel的VBA配置

找到VBA开发工具,引用菜单

【Excel】VBA编程 02 访问MySQL数据库

 

追加VBA的数据库访问对象

【Excel】VBA编程 02 访问MySQL数据库

 

追加两项引用:

Mircosoft ActiveX Data Objects 6.1 Library
Mircosoft ActiveX Data RecordSet 6.0 Library

 

3、编写VBA执行脚本

然后可以在VBA中编写数据库访问脚本:

Sub 连接本地Mysql()
    '///1. 引用ADO类库:前期或者后期绑定
    Dim conn As ADODB.connection
    Set conn = New ADODB.connection '以上两句可简写Dim con As New ADODB.Connection
Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset '以上两句可简写Dim rs As New ADODB.Connection '///2. ADO建立对数据源的链接 '可简写con.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=192.168.1.139;DB=test;UID=root;PWD=abc;OPTION=3;" conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3308;DB=my-info;UID=root;PWD=123456;OPTION=3;" conn.Open '///3. ADO执行SQL语言。 rs.Open "select * from application_website", conn '使用结果集对象执行sql语句 Range("A2").CopyFromRecordset rs '将数据输出到工作表,不包含字段名 MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & conn.State & vbCrLf & "数据库版本:" & conn.Version) conn.Close Set conn = Nothing End Sub

 

脚本执行结果

【Excel】VBA编程 02 访问MySQL数据库

 

上一篇:Wget下载网页与镜像网站


下一篇:列表