今天继续来看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 字段数组,值数组”。
本文介绍了如何使用SQL的Update命令在Access数据库中更新数据,结合VBA编写了两个示例,包括直接执行SQL语句更新和通过记录集对象更新数据的方法,帮助理解数据修改操作。

567

被折叠的 条评论
为什么被折叠?



