vba mysql_VBA连接Mysql数据库
■MySQL的环境配置
■VBA连接MySQL数据库的代码框架
一、MySQL的环境配置
我的具体环境:
√Win7 32位系统
√Excel 2016 32bit
√Mysql服务+数据库管理工具(我用的Navicat)
√Mysql ODBC连接器
√VC++ 2015 Redistributable(一个必须环境)
切记!上述组件务必安装相同位数的版本,否则容易出现各种问题!
(所有文中涉及到的附件,32和64位版本均提供安装包,后台回复mysql获取)
▍确保以上程序均安装完成以后,开始下面的配置环境。
①打开“控制面板”-“管理工具”-“ODBC 数据源”(找不到管理工具的,搜索一下)
②添加Mysql数据源驱动
③点击完成后弹出配置界面,关于界面的说明如下:
我这里使用的是Navicat数据库管理软件,下面的界面也是Navicat里面连接设置页面。如果成功的话,点Test之后会出现连接成功的提醒。
到这一步,我们已经成功了一半了,下面只需要知道VBA连接Mysql的框架代码即可。
二、VBA中使用代码连接MySQL
现在给出连接Mysql数据库的框架代码
▍框架代码: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建立对数据源的链接 conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3306;DB=myemployees;UID=root;PWD=123;OPTION=3;" conn.Open '///3. ADO执行SQL语言。 rs.Open "select * from jobs", conn '使用结果集对象执行sql语句 Range("A2").CopyFromRecordset rs '将数据输出到工作表,不包含字段名 '可简写con.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=192.168.1.139;DB=test;UID=root;PWD=abc;OPTION=3;" MsgBox ("连接成功!" & vbCrLf & "数据库状态:" & conn.State & vbCrLf & "数据库版本:" & conn.Version) conn.Close Set conn = NothingEnd Sub
代码主要分为三大部分:
■引用ADO类库:前期或者后期绑定
■ADO建立对数据源的链接
■ADO执行SQL语言
▶▶▶关于引用ADO类库:
连接数据库需要通过ado这个中间人。首先我们要引用ado组件的类型库,这里我采用前期绑定的方式。
在VBE菜单栏选择“工具”-“引用”,在弹出的引用窗口中,找到"Microsoft ActiveX Data Objects 6.1 Library"和"Microsoft ActiveX Data Objects Recordset 6.0Library",把前面的框勾选上,点击确定即可。(如果不是这两个版本,则选择一个版本号最高的勾选即可)
▶▶▶ADO的连接字符串conn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Port=3306;DB=myemployees;UID=root;PWD=123;OPTION=3;"
Driver变量:值是必须要和数据源中添加的新数据源一致的,否则会提示找不到数据源。
Server变量:本地Mysql服务器,输入127.0.0.1,;远程服务器输入相应服务器IP地址。
Port变量:端口号
DB变量:数据库名字
UID变量:用户名
PWD变量:密码
▶▶▶执行sql语句:
通常我们使用ADO的Execute语句和Recordset对象执行SQL语句。将SQL查询结果和字段名写入表格指定区域 Sql = "SELECT 姓名,成绩 FROM [Sheet1$] WHERE 成绩>=80" 'Sql语句,查询Sheet1表成绩大于80……姓名和成绩的记录 Set rst = cnn.Execute(Sql) 'cnn.Execute()执行SQL语句,始终得到一个新的记录集rst For i = 0 To rst.Fields.Count - 1 '利用fields属性获取所有字段名,fields包含了当前记录有关的所有字段,fields.count得到字段的数量 '由于Fields.Count下标为0,又从0开始遍历,因此总数-1 Cells(1, i + 4) = rst.Fields(i).Name Next Range("d2").CopyFromRecordset rst '使用单元格对象的CopyFromRecordset方法将rst内容复制到D2单元格为左上角的单元格区域
vba mysql_VBA连接Mysql数据库相关推荐
- .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 ...
- Linux JSP连接MySQL数据库
Linux(Ubuntu平台)JSP通过JDBC连接MySQL数据库,与Windows平台类似,步骤如下: 下载 jdbc: mysql-connector-java-5.1.18.tar.gz 解压 ...
- python使用PyMySQL的连接MySQL数据库
如何实现将100000条数据插入到MySQL数据库?如果使用MySQL客户端来完成这个操作,那么这个工作量无疑是巨大的,可以通过使用程序代码的方式去连接MySQL数据库,然后对MySQL数据库进行增删 ...
- python3连接mysql,python3连接MySQL数据库实例详解
本文实例为大家分享了python3连接MySQL数据库的具体代码,供大家参考,具体内容如下 #python3连接MySQL实例 import pymysql """导入连 ...
- java linux mysql数据库_Linux Java连接MySQL数据库
Linux(Ubuntu平台)Java通过JDBC连接MySQL数据库,与Windows平台类似,步骤如下: 解压 jdbc: tar -zxvf mysql-connector-java-5.1.1 ...
- 【Java】Java连接Mysql数据库的demo示例
[Java]Java连接Mysql数据库的demo示例 1.安装mysql数据库 2.下载java-mysql-connector.jar包 3.完成java配置 4.写java代码运行测试 1.安装 ...
- PowerDesigner 连接MySQL数据库详细步骤
PowerDesigner 连接MySQL数据库详细步骤 简介 有的时候我们想把数据表结构可视化,想知道表中有哪些字段,表与表之间的关联关系,这个时候我们可以使用PowerDesigner工具,将表转 ...
最新文章
- 多线程编程之线程绑定处理器核
- saltstack-gdlwolf自学总结第二篇:salt常用帮助查找命令
- 5 个有用的开源日志分析工具
- 番石榴分配器vs StringUtils
- instanceof 和 对象转型
- 从零开始学 Web 之 Ajax(七)跨域
- idea 创建 spring 配置文件
- windows下JAVA环境变量配置
- 在Ubuntu下实现一个简单的C语言程序
- 德施曼|618期间五次霸榜 直击智能锁第一爆品德施曼Q5
- 银行家算法课程设计(附源代码)
- VMware虚拟机安装WinXP出现错误output error file to the following location A:\GHOSTERR.TXT
- linux用vi查找字符串替换,Linux中vi进行字符替换
- vs code 代码格式化整理
- Vue使用Iconfont图标库
- 解决网站iframe挂马方法
- 40岁计算机研究生能干什么工作,快四十岁了,还能干点什么?
- educoder 数据库原理与应用 实验六 约束与索引
- 央视“315晚会”上曝光的“网络水军”要怎么从技术上防范
- 2020最新开发及环境搭建类经典面试题
热门文章
- Java在线反编译网站
- 用计算机破解vivo手机数字密码,vivo手机咋样在电脑上解锁?看vivoy66解锁密码找答案。...
- Java程序性能优化
- c语言函数制作,C语言库函数制作方法
- c语言汉诺塔动画程序,汉诺塔问题算法(c语言控制台动画演示版)
- 如何使用fiddler工具抓包?
- 建模matlab仿真视频教程,Simulink建模与仿真视频教程
- Linux驱动开发|WiFi驱动
- 长文预警-超详细的熊猫烧香病毒分析_00
- 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)篇节一.doc...