ExcelVBAADOSQL入门教程19:UPDATE更新语句_第1页
ExcelVBAADOSQL入门教程19:UPDATE更新语句_第2页
ExcelVBAADOSQL入门教程19:UPDATE更新语句_第3页
ExcelVBAADOSQL入门教程19:UPDATE更新语句_第4页
ExcelVBAADOSQL入门教程19:UPDATE更新语句_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ExcelVBAADOSQL入门教程19:UPDATE更新语句能不能让我陪着你走

既然你说留不住你

回去的路有些黑暗1,我们上一章留了个小尾巴,说对于EXCEL文件,SQL可以删除单元格内的值,但不能使用DELETE语句删除整条记录,或者说删除单元格自身;否则会收到错误提示——那么如何删除单元格内的值呢?请使用UPDATE语句。UPDATE,顾名思义,修改或更新数据库中的数据之意;它的基础语法如下:UPDATE表名SET列名称=新值举个例子。夏天到了,酷暑难当,某公司决定为每位员工的工资增加200元防暑降温费。

SQL语句如下:UPDATE

[工资表$]SET工资=工资200完整VBA代码如下:SubDoSql2()DimcnnAsObject,strSQL

AsStringSetcnn=CreateObject('adodb.connection')cnn.Open'Provider=Microsoft.ACE.OLEDB.12.0;ExtendedProperties=Excel12.0;DataSource='&ThisWorkbook.FullNamestrSQL='UPDATE

[工资表$]SET工资=工资200'cnn.Execute(strSQL)cnn.CloseSetcnn=NothingEndSub更新后的数据如下:

但等到发工资前的晚上,半夜12点,领导辗转反侧后忽然改主意了。他认为男女应该区别对待,男生的防暑降温费应改为150,女生改为250……以为领导是照顾女同胞?不系滴,毕竟公司男多女少嘛,能省一点是一点。对此,我们得将代码中的SQL语句修改如下:UPDATE

[工资表$]

SET工资=工资IIF(性别='男',150,250)语句使用IIF函数对性别进行判断,如果是男生,则返回数值150,否则返回250.更新后的工资表如下图所示:

2.再举几个常见的例子吧。先看一个修改多列数据的小栗子。

假设,我们发现员工‘芬子师妹’这个人的性别弄错了,应该是女生;工龄也错了,应该是3年;工资还是错了,应该是6666——如何用UPDATE语句进行更新呢?UPDATE

[工资表$]SET性别='女',工龄=3,工资=6666WHERE姓名='芬子师妹'语句通过WHERE子句指定更新条件,并在SET子句指定了多列应更新的数据,每列数据之间使用英文逗号间隔。更新后的结果如下:

再看一个UPDATE搭配子查询的例子。假设,有一天早晨,领导给了你一份名单,说这些人的工资每人加50元,同时工龄加1年。名单表的名单如下:

如何根据名单对工资表做批量数据更新呢?语句如下:UPDATE

[工资表$]SET工龄=工龄1,工资=工资50WHERE姓名IN(SELECT*FROM[名单表$A:A])语句使用子查询的方式作为数据更新的条件,关于子查询:ExcelVBAADOSQL入门教程013:子查询工资表数据更新后如下图所示:

最后举一个UPDATE关联查询更新的例子。又过了一段时间,领导又给了您一份调薪表,要求你根据调薪表的人名和工资,对工资表对应的员工工资做批量修改。调薪表的模样是下图酱紫的。

沉默50秒,我需要严肃思考一下,为什么我的工资从5700掉到了73块?说四川普通话的那位白头发老头贸易保护我了?还是俺和“看见月光”蒙面诈骗领导小女儿的事情暴露了?……好伐,如何使用UPDATE语句对工资表做对应的数据更新呢?UPDATE[工资表$]aINNERJOIN[调薪表$]bONa.姓名=b.姓名SETa.工资=b.工资UPDATE子句通过内连接的查询方式指定了需要数据更新的记录行,并通过SET子句对工资修改为对应的新值。不过需要说明的是,这是Excel和ACCESS(JETSQL)关联更新的写法,SQLSERVER(T-SQL)与此并不相同,后者的UPDATE是支持FROM子句的——打个响指,正如上文所言,两者之间的语句区别并不是本系列教程的重点,感兴趣的朋友可以自行百度。更新后的工资表数据如下所示:

3.好吧,亲爱的,回到我们最初的约定……如何使用UPDATE语句批量删除单元格内的值?比如批量删除工资表的工资……其实很简单,对不对?UPDATE[工资表$]SET工

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论