分享

SQL更新数据库中的数据 | VBA实例教程

 gblhp 2015-02-16

除非注明,文章均为 战战如疯 原创,转载请保留链接: http://www./cat4/403.html,VBA交流群273624828。

今天继续来看SQL操作数据库的例子。数据库中已有一些数据,现在要对其中一些数据进行更新,在示例文件中有一条数据,现在要将该数据的一些字段进行更新。更新用到的命令是update,下面看示例代码

Sub 数据更新update()
'后期引用
Dim cnn As Object, mypath, sql
Set cnn = CreateObject("adodb.connection")
mypath = ThisWorkbook.Path & "\学校管理.accdb"
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mypath
sql = "update 学生信息 set 家庭电话='66666666',特长='EXCEL' where 学生编号='1000000'"
cnn.Execute sql
cnn.Close
Set cnn = Nothing
End Sub

update语法是“update 表名 set 字段名1=新值,字段名2=新值 where 字段名=限定值”,上面的代码就是查找学生编号是1000000的数据,并将该数据的家庭电话字段改为66666666,特长字段改为EXCEL。

下面来看利用数据集来更新数据的方式

Sub 数据更新updata2()
'后期引用
Dim cnn As Object, mypath, sql, rs
Set cnn = CreateObject("adodb.connection")
Set rs = CreateObject("ADODB.recordset")
mypath = ThisWorkbook.Path & "\学校管理.accdb"
cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mypath
sql = "Select * from 学生信息 where 学生编号='1000000'"
rs.Open sql, cnn, 1, 3
rs.Update Array("家庭电话", "特长"), Array("99999999", "Excel VBA")
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub

首先利用Select语句将学生编号为1000000的数据提取出来形成记录集,这里仍然用记录集的Open方法,更新的语法是“记录集.update 字段数组,值数组”。

本节示例文件下载地址:http://pan.baidu.com/s/1mgA4Id6

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多