如果要更改许多记录,或者要更改的记录位于多个表中,UPDATE 则尤其有用。
可以同时更改多个字段。 下面的示例把英国货主的订货量的值增加百分之十,并且把运费的值增加百分之三。
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';
UPDATE 不会生成结果集。 而且,使用更新查询来更新记录后,您不能取消该操作。 如果希望了解已更新哪些记录,请先检查使用相同条件的选择查询的结果,然后再运行更新查询。
随时维护数据的备份副本。 如果更新了错误的记录,可以从备份副本检索它们。
本示例针对当前 ReportsTo 字段值为 2 的所有员工记录,将 ReportsTo 字段值更改为 5。
Sub UpdateX()
Dim dbs As Database
Dim qdf As QueryDef
' Modify this line to include the path to Northwind
' on your computer.
Set dbs = OpenDatabase("Northwind.mdb")
' Change values in the ReportsTo field to 5 for all
' employee records that currently have ReportsTo
' values of 2.
dbs.Execute "UPDATE Employees " _
& "SET ReportsTo = 5 " _
& "WHERE ReportsTo = 2;"
dbs.Close
End Sub