除非注明,文章均为 战战如疯 原创,转载请保留链接: /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。
|