注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗?请在此处查看本文的以便参考。
在 Access 数据库中使用更新查询,添加、更改或删除现有记录中的信息。你可以将更新查询视为一种强大的“查找和替换”对话框形式。不能使用更新查询向数据库中添加新记录,或者从数据库中删除记录。
若要将新记录添加到数据库,请使用追加查询;若要从数据库中删除整个记录,请使用删除查询。
以下是“查找和替换”与更新查询之间的异同:
与“查找和替换”对话框相同的是,更新查询允许您指定要替换值以及新值。
与“查找和替换”对话框不同的是,更新查询允许您:
-
使用与您要替换的值无关的条件。
-
同时更改多个表中的记录。
更新查询不可用于更新以下类型字段中的数据:
-
计算字段 计算字段中的值不会永久驻留于表中。Access 计算出的值仅存在于计算机的临时内存中。由于计算字段没有永久性存储位置,因此无法更新。
-
总计查询或交叉表查询中的字段 这些类型查询中的值是计算得到的值,因此无法由更新查询更新。
-
自动编号字段 按照设计,“自动编号”字段中的值仅在您向表中添加记录时才会更改。
-
唯一值查询和唯一记录查询中的字段 这类查询中的值是汇总值。其中某些值表示单条记录,而其他值表示多条记录。由于不可能确定哪些记录被作为重复值而排除,因此无法执行更新操作,也无法更新所有必需的字段。不管使用更新查询,还是通过在窗体或数据表中输入值来尝试手动更新数据,此限制都适用。
-
联合查询中的字段 不可更新联合查询中的字段内的数据,因为出现在两个或更多数据源中的每条记录只在联合查询结果中出现一次。由于某些重复记录已从结果中移除,因此 Access 无法更新所有必需的记录。
-
主键字段 某些情况下,例如,如果在表关系中使用了主键字段,那么,除非先将关系设置为自动级联更新,否则不可使用查询来更新该字段。
注意: 级联更新时,如果更改父表中的主键值,Access 将自动更新外键值。
作为创建更新查询时的最佳实践,请首先创建用于找出您要更新的记录的选择查询,然后将该查询转换为可运行的更新查询来更新记录。首先,通过选择数据,您可以在实际更改任何数据之前验证您要更新的记录。
提示: 在运行更新查询之前,应当先备份数据库。由于更新查询的结果无法撤消,因此,请进行备份,这可确保在您改变主意时能够撤消更改。
-
单击“文件”选项卡,然后单击“另存为”。请注意,如果使用 Access 2010,请单击“文件”选项卡,然后单击“保存并发布”。如果使用 Access 2007,请单击“Microsoft Offie 按钮”>“管理”>“备份数据库”。
-
在右侧的“高级”下面,单击“备份数据库”。
-
在“备份数据库另存为”对话框中,指定备份副本的名称和位置,然后单击“保存”。
Access 将关闭原始文件,创建备份,然后重新打开原始文件。
若要还原到备份,请关闭并重命名原始文件,以便备份副本可以使用原始版本的名称。将原始版本的名称分配给备份副本,然后在 Access 中打开已重命名的备份副本。
步骤 1:创建用于找出要更新的记录的选择查询
-
打开包含要更新的记录的数据库。
-
在“创建”选项卡上的“查询”组中,单击“查询设计”。请注意,如果使用 Access 2007,则请在“创建”选项卡的“其他”组中单击“查询设计”。
将打开查询设计器,并打开“显示表”对话框。
-
选择包含要更新的记录的表,单击“添加”,然后单击“关闭”。
每个表都会在查询设计器中显示为一个窗口,并且这些窗口会列出每个表中的所有字段。下图显示包含一个典型表的查询设计器。
将尝试转换其他值,这意味着您会看到带下划线的文本,并且在您指向链接时,光标会发生变化,但链接无效。文本可以包含任何有效的 Web 协议,包括 http://、gopher://、telnet://、ftp:// 和 wais://。
请参阅上一条。适用同样的限制。
如果数字字段是关系的一部分,则不允许转换。如果原始值采用有效的 Internet 协议 (IP) 地址形式(以句点分隔的四组数,每组三个数字:nnn.nnn.nnn.nnn),并且数字恰好与某个 Web 地址一致,则转换将产生一个有效的链接。否则,Access 会在每个值的前面追加 http://,所得到的链接将无效。
Access 会在每个地址前面追加 http://,但所得到的链接几乎永远不会有效。
Access 会在每个值前面追加 http://,但与日期一样,所得到的链接几乎永远不会有效。
如果自动编号字段是关系的一部分,则不允许转换。Access 会在每个值前面追加 http://,但所得到的链接几乎永远不会有效。
Access 将所有“是”值转换为 -1,将所有“否”值转换为 0,并在每个值前面追加 http://。所得到的链接无效。
如果您尝试运行某个动作查询,但好像没有什么反应,请查看 Access 状态栏中是否显示下列消息:
“此操作或事件已被禁用模式阻止。”
默认情况下,除非您的数据库位于受信任位置,或者数据库已签名并受信任,否则 Access 禁用所有动作查询(更新查询、追加查询、删除查询或生成表查询)。如果没有执行上述任一操作,仍可以通过单击消息栏上的“启用内容”来对当前数据库会话启用查询。
如果习惯使用 SQL,也可以使用 SQL 视图来编写 UPDATE 语句。若要使用 SQL 视图,先创建一个空的新查询,然后切换到 SQL 视图。
本节介绍 UPDATE 语句的语法,并提供示例。
UPDATE 语句包含以下几部分:
表名,其中包含要修改的数据。 |
表达式,确定将哪些值插入已更新的记录中的特定字段。 |
确定将更新哪些记录的表达式。只更新满足表达式条件的记录。 |
如果要更改许多记录,或者要更改的记录位于多个表中,那么 UPDATE 语句尤其有用。
可以同时更改若干字段。以下示例将英国货主的“采购量”值增加 10%,“运费”值增加 3%: