Excel中添加并使用宏实现批量更新数据
一、状况描述
当我们需要后台更新大量数据的时候,可以使用该功能。
二、解決方案
(1)新建一个Excel文件,并另存为启用宏的Excel工作簿,扩展名为.xlsm。
(2)在Excel中添加按钮。点击开发工具选项卡-》插入控件-》选择表单控件中的“按钮”,添加按钮。如果没有开发工具选项卡,则按下图步骤添加。

(3)给按钮指定宏,并新建或录制宏(可以自己编写语句实现想要实现的功能)。

Sub 按钮1_Click() Dim cn As New ADODB.Connection '定义数据链接对象 ,保存连接数据库信息;请先添加ADO引用
Dim rs As New ADODB.Recordset '定义记录集对象,保存数据表
Dim strCn As String, strSQL As String, bb As String '字符串变量 strCn = "Provider=sqloledb;Server=192.168.1.222;Database=dbName;Uid=sa;Pwd=sa" cn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn For i = To Range("A65536").End(xlUp).Row '查询事件
strCn = "SELECT notes FROM EMPLOYEE WHERE EMPLOYEEID='" & Cells(i, ) & " '"
ActiveSheet.Cells(i, ).CopyFromRecordset cn.Execute(strCn) 'insert、update、delete事件
'strCn = "update employee set notes='" & Cells(i, 2) & "' where employeeid='" & Cells(i, 1) & " '"
'cn.Execute (strCn) Next i
MsgBox ("success")
End Sub
PS:如果宏被禁用,按以下操作:



(4)工具-》引用,添加以下引用

(5)保存,完成,点击按钮更新
三、使用注意与时机
宏里面的SQL语句必须要确定正确,一旦使用该功能,更新的数据无法撤销。
Excel中添加并使用宏实现批量更新数据的更多相关文章
- mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)字符串拼接cancat实战例子
mysql下的将多个字段名的值复制到另一个字段名中(批量更新数据)mysql字符串拼接cancat实战例子: mysql update set 多个字段相加,如果是数字相加可以直接用+号(注:hund ...
- SQL批量更新数据
SQL批量更新数据 step1:导入Excel数据, 具体见百度.注意点:一列中含有float型数据和文本数据的时候,导入要将Excel中的表格属性改成文本,或在数字项目前加个单引号. step2 ...
- MongoDB的批量查询条件进行批量更新数据
今天遇到这样一个场景:在Java中批量更新MongoDB数据,不过每次更新的条件有不一样,那如何有效地进行更新操作呢? 刚开始的时候,我是想到循环批量更新操作,即每一种查询条件进行一次批量更新过程,这 ...
- Neo4j 第五篇:批量更新数据
相比图形数据的查询,Neo4j更新图形数据的速度较慢,通常情况下,Neo4j更新数据的工作流程是:每次数据更新都会执行一次数据库连接,打开一个事务,在事务中更新数据.当数据量非常大时,这种做法非常耗时 ...
- mybatis学习之路----批量更新数据两种方法效率对比
原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方 ...
- mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询
1. 1)MySQL 连接本地数据库,从cmd中进入mysql命令编辑器: root root分别为用户名和密码 mysql -uroot -proot 2)MySQL 连接本地数据库,用户名为“ro ...
- SqlServer 利用游标批量更新数据
SqlServer 利用游标批量更新数据 Intro 游标在有时候会很有用,在更新一部分不多的数据时,可以很方便的更新数据,不需要再写一个小工具来做了,直接写 SQL 就可以了 Sample 下面来看 ...
- 批量更新数据小心SQL触发器的陷阱
批量更新数据时候,Inserted和Deleted临时表也是批量的,但触发器只会调用执行一次!两个概念千万不要弄混淆! 错误的理解:例如:创建在A表上创建了一个Update触发器,里面写的是Updat ...
- FreeSql (十四)批量更新数据
FreeSql支持丰富的更新数据方法,支持单条或批量更新,在特定的数据库执行还可以返回更新后的记录值. var connstr = "Data Source=127.0.0.1;Port=3 ...
随机推荐
- webForm中的验证控件
1.非空验证控件:RequireFieldValidator :2.数据比较验证:CompareValidator :3.数据范围验证:RangeValidator :4.正则表达式验证:Regul ...
- Apache 的ab压力测试工具
ab.exe -n 请求次数 -c 并发人数
- awk实现join
awk 有时确实比较省事,做些简单的文本处理,还是很方便的,在这介绍下两个文件的join的操作. 原始文本 bb.txt a 10 b 12 cc.txt a 11 b 13 c 15 awk joi ...
- Winform 委托窗体传值
有窗体Form1和窗体Form2,单击Form1按钮弹出Form2,单击Form2吧Form2的textBox控件文本传给Form1的label控件. 窗体1里: 实例化Form2,注册Form2的事 ...
- Python 操作FTP
import sys, os, ftplib, socket CONST_HOST = "FTP服务器地址" CONST_USERNAME = "FTP用户名" ...
- 一个不错的loading效果--IT蓝豹
一个不错的loading效果 介绍:一个不错的loading加载效果,弹性收缩,效果不错,学习android动画的朋友可以下载来研究研究本例子其实由SeekBar实现,由MetaballView,Me ...
- windbg学习----.process
.process 命令指定要用作进程上下文的进程(Set Process Context) .process显示当前进程的EPROCESS,这里显示当前进程为test.exe kd> .proc ...
- MVC数据传递和多表单
1.数据传递(1)session和TempData 全局变量,可以将值从一个动作传递到另一个动作,也可以从控制层传递到视图层. TempData取一遍值后自动销毁. session使用: //控制器中 ...
- EditTextPreference点击后输入框显示隐藏内容,类似密码输入(转)
http://bbs.anzhuo.cn/thread-928131-1-1.html EditTextPreference点击后输入框显示隐藏内容,类似密码输入... [复制链接] aski ...
- Data import/export of Netezza using external table
Introduction External table is a special table in Netezza system, which could be used to import/exp ...