【Excel】VBA编程 02 访问MySQL数据库
1、配置Windows连接驱动ODBC
因为是访问MySQL,则对应的ODBC驱动由MySQL厂商发布
https://dev.mysql.com/downloads/connector/odbc/
这里系统位数有个坑,要下载32位版
安装64位版后执行VBA脚本却告诉我找不到ODBC驱动,想半天才知道系统位数原因
https://yebd1h.smartapps.cn/pages/blog/index?blogId=108721206&_swebfr=1&_swebFromHost=baiduboxapp
又或者因为连接参数不对
安装ODBC驱动之后,找到【管理工具】
把下面这个地址粘贴的【资源管理器】的地址栏上直接访问
控制面板\系统和安全\管理工具
分为64位和32位,双击32位
可以看到驱动列表中有了MySQL的驱动
可以新建一个【用户DSN】来测试
2、Excel的VBA配置
找到VBA开发工具,引用菜单
追加VBA的数据库访问对象
追加两项引用:
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
脚本执行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY