更新Access2007数据库中的数据
2008-07-12 14:46:27   来源:   评论:0 点击:


本文讲述如何更新现有数据。Microsoft Office Access 2007 提供了许多用于更新现有记录的工具,其中包括数据表、窗体、查询、查找和替换及新的数据收集功能。

在进行操作时请注意,数据更新过程与输入新数据的过程不同。有关在数据库中输入新数据的信息,请参阅向数据库中添加一个或多个记录一文。

本文内容

 

数据库设计对更新有哪些影响

如果您刚接触 Access 或不熟悉关系数据库背后的概念,请阅读这一节的内容。如果您了解一些数据库设计的基本原理,执行大型更新操作将会容易的多。

Access 数据库文件与 Microsoft Office Word 2007 文档或 Microsoft Office PowerPoint 2007 幻灯片不同。典型的 Access 数据库是一个表集合加上一系列围绕着这些表构建的对象(窗体、报表和查询等)。 

此外,这些对象必须遵守若干设计原则,否则数据库将无法正常工作,甚至完全失败。这些设计原则又会影响数据的输入方式。在进行操作时,请牢记以下有关数据库对象和设计的事实。

  • 除少数例外(例如称为值列表的列表类型),Access 将所有数据存储在一个或多个表中。表的数量取决于数据库的设计和复杂性。虽然可以在窗体、报表或查询所返回的结果中查看或更新数据,但 Access 只将数据存储在表中。
  • 每个表应只存储针对一个问题、类别或用途的数据。例如,业务联系人信息表中不应当包含销售信息,否则将很难找到正确的信息,甚至无法查找。
  • 表中的每个字段应只接受一种数据类型。例如,不能将注释存储在设置为接受数字的字段中。如果尝试在这样的字段中输入文本,Access 就会显示一条错误消息。
  • 有一个特例,就是记录中的字段应只接受一个值。例如,正确设计的数据库将禁止在一个地址字段中输入多个地址。这与 Microsoft Office Excel 2007 相反,后者默认情况下允许在一个单元格中输入任意数量的名称、地址或图像,除非将该单元格设置为接受数量有限的数据类型。

    但是,Office Access 2007 还提供了一种称为“多值字段”的新功能。使用多值字段,可以将多个数据附加到单个记录,并可以创建接受多个值的列表。例如,可以将文本文件、Office PowerPoint 2007 幻灯片和任意数量的图像附加到数据库记录。还可以创建名称列表,并根据需要选择其中的多个名称。使用多值字段时,每个表字段中可以存储多段数据,这似乎破坏了数据设计规则,但实际上并没有,因为 Access 会将数据存储在特殊的隐藏表中,从而在“幕后”实施此规则。

您可以通过下列链接访问提供有关这一节中所讨论主题和功能的详细信息的文章。

数据类型对更新有哪些影响

如果您刚接触 Access 或不熟悉关系数据库背后的概念,请阅读这一节的内容。如果您了解一些数据库设计的基本原理,执行大型更新操作将会容易的多。

在设计数据库表时,需要为表中的每个字段选择一个数据类型,该过程有助于确保数据输入更为准确。例如,假设您因需要计算销售额而为某一字段指定了数字数据类型。如果某一用户在该字段中输入了文本,Access 就会显示一条错误消息,并且不允许该用户保存所更改的记录,该步骤可帮助保护您的数字。

 

显示显示如何查看数据类型

Access 现在提供了两种方法来查看表字段的数据类型。您可以使用“数据表”选项卡上的命令,也可以在设计视图中打开表。以下步骤说明如何使用这两种方法。

使用“数据表”选项卡上的命令查看数据类型

  1. 在导航窗格中,双击要使用的表。
  2. 单击要查看的字段。
  3. “数据表”选项卡的“数据类型和格式”组中,单击“数据类型”列表的向下箭头,以查看该字段的数据类型集。

在设计视图中查看数据类型

  • 在导航窗格中,右键单击表,然后单击快捷菜单上的“设计视图”

    Access 将在设计网格中打开表,网格的上半部分显示了每个表字段的名称和数据类型。

    设计视图中的字段

 

为每个表字段所设置的数据类型为可以在字段中输入哪些内容及不能输入哪些内容提供了第一级控制。在有些情况下,某一数据类型设置会使您根本无法输入任何信息。下表列出了 Office Access 2007 所提供的数据类型并说明了它们对数据输入有哪些影响。

数据类型 对数据输入的影响
文本 “文本”字段可以接受文本或数字字符,包括分隔项目列表。与“备注”字段相比,“文本”字段所接受的字符数较少,范围在 0 到 255 之间。在某些情况下,可以使用转换函数对“文本”字段中的数据执行计算。 
备注 在这种类型的字段中可以输入大量文本和数字数据。此外,如果数据库设计者将字段设置为支持格式文本格式,则可以应用字处理程序(如 Office Word 2007)中常用的格式类型。例如,可以对文本中的特定字符应用不同的字体和字号、使它们加粗或倾斜,等等。还可以向数据添加超文本标记语言 (HTML) 标记。

有关在“备注”字段中使用格式文本格式的详细信息,请参阅设置行和列中数据的格式一文。

“备注”字段类似于文本字段,您还可以对其中的数据运行转换函数。

数字 在此类型字段中只能输入数字,而且可以对“数字”字段中的值执行计算。
日期/时间 在此类型字段中只能输入日期和时间。根据数据库设计者对字段的设置方式的不同,您可能会遇到以下情况:
  • 如果数据库设计者为字段设置了输入掩码(选择该字段时显示的一系列文字和占位符),则必须按照掩码所提供的空间和格式输入数据。例如,如果显示的掩码类似于 MMM_DD_YYYY 格式,则必须在所提供的空白处输入该格式的日期,例如,Oct 11 2006。不能输入完整的月份名称(例如 July)或两位年份值。 
  • 如果设计者未创建输入掩码以控制日期或时间的输入方式,则在输入值时可以采用任意有效的日期或时间格式。例如,可以键入 11 Oct. 2006、10/11/06 或 October 11, 2006。
  • 数据库设计者可以对字段应用显示格式。在这种情况下,如果没有输入掩码,则几乎可以采用任何格式输入值,但 Access 将按照该显示格式显示日期。例如,可以输入 10/11/2006,但可以设置显示格式将值显示为 11-Oct-2006。

    有关输入掩码的详细信息,请参阅设置行和列中数据的格式一文。

货币 在此类型字段中只能输入货币值。此外,无需手动输入货币符号。默认情况下,Access 会应用在 Windows 区域设置中指定的货币符号(¥、£ 和 $,等等)。
自动编号 任何时候在此类型字段中都无法输入或更改数据。只要向表添加了新记录,Access 就会递增“自动编号”字段中的值。
是/否 在单击设置为该数据类型的字段时,根据您设置字段格式的方法,Access 会显示一个复选框或一个下拉列表。如果将字段格式设置为显示一个列表,则同样根据应用于字段的格式,可以从该列表中选择“是”/“否”、“真”/“假”或“开”/“关”。不能在该列表中输入值,也不能直接从窗体或表中更改该列表中的值。
OLE 对象 如果要显示用其他程序创建的文件中的数据,可以使用此字段类型。例如,可以在“OLE Object”字段中显示文本文件、Excel 图表或 PowerPoint 幻灯片。

 注释   附件为查看其他程序中的数据提供了一种更加方便快捷和灵活的方法。有关详细信息,请参阅本表后面的“附件”部分。

超链接 在此类型字段中可以输入任何数据,Access 会将其封装在 Web 地址中。例如,如果在此字段中键入一个值,Access 将在该文字周围加上统一资源标识符 (URL) (统一资源定位符 (URL):一种地址,指定协议(如 HTTP 或 FTP)以及对象、文档、万维网网页或其他目标在 Internet 或 Intranet 上的位置,例如:http://www.microsoft.com/。) 文字,如:http://www.您输入的文本.com。如果输入有效的 Web 地址,则链接将有效,否则,链接会导致错误消息。而且,编辑现有超链接会非常困难,因为用鼠标单击超链接字段会启动浏览器并转到链接中指定的网站。要编辑超链接字段,可以选择相邻的字段,用 Tab 或箭头键将焦点移动到超链接字段,然后按 F2 启用编辑。 
附件 可以将其他程序中的数据附加到该类型字段,但不能键入或以其他方式输入文本或数字数据。

有关使用“附件”字段的信息,请参阅将文件附加到数据库的记录中一文。

查阅向导 查阅向导不是数据类型。您可以使用该向导创建两种类型的下拉列表:值列表和查阅字段。值列表使用在查阅向导中手动输入的分隔项目列表。这些值可以与数据库中的其他任何数据或对象无关。

查阅字段则使用查询从数据库中的一个或多个其他表中检索数据,或者在其他位置(如运行 Microsoft Windows SharePoint Services 3.0 的服务器)检索数据。然后查阅字段在下拉列表中显示数据。默认情况下,查阅向导将该表字段设置为“数字”数据类型。

可以直接在表、窗体和报表中使用查阅字段。默认情况下,查阅字段中的值显示在一种称为“组合框”的列表控件中,该控件是一个具有下拉箭头的列表:空白查阅列表。根据数据库设计者设置查阅字段和组合框的方式,可以编辑列表中的项目以及向列表中添加项目。为此,数据库设计者必须为查阅字段设置属性(属性称为“限于列表”,设计者必须关闭该属性)。 

如果无法直接编辑查阅列表中的值,则必须在预定义值列表或作为查阅字段源的表中添加或更改数据。有关此操作的信息,请参阅向数据库中添加一个或多个记录一文中标题为“编辑查阅字段中的项目”的小节。

最后,在创建查阅字段时,可以将其设置为支持多个值。如果这么做,结果列表会在每个列表项目旁显示一个复选框,您可以根据需要选中或清除任意多个项目。下图说明一个典型的多值列表:

复选框列表。

有关创建多值查阅字段和使用结果列表的信息,请参阅文章使用存储多个值的列表多值字段指南

表字段属性对更新有哪些影响

如果您刚接触 Access 或不熟悉关系数据库背后的概念,请阅读这一节的内容。如果不了解为表字段所设置的属性对更新有哪些影响,您将无法成功执行大型更新操作。

在设计数据库时,通常从设计一个或多个表着手。您需要确定每个表将包含哪些类型的数据,为每个表设置主键(一个唯一标识每个记录(行)的字段)并创建各表之间的关系。  

在该过程中,还需要为每个表中的字段设置属性。例如,可以将“文本”字段设置为最多接受 50 个字符,也可以将“数字”字段设置为只接受货币值。

 注释   可以使用设计视图来设置大多数字段属性。不过,也可以使用功能区(功能区是 Microsoft Office Fluent 用户界面的一部分)上各组中的命令设置某些属性。例如,通过使用“开始”选项卡上的“字体”组中的命令,可以为“文本”和“备注”字段设置可视格式。有关使用这些命令的详细信息,请参阅设置行和列中数据的格式一文。

显示显示如何设置或更改表字段的属性。

Access 现在提供了两种方法来查看表字段的属性。您可以使用“数据表”选项卡上的命令,也可以在设计视图中打开表。下列各组步骤解释了如何使用这两种方法。 

使用“数据表”选项卡上的命令查看表属性

  1. 在导航窗格中,双击要使用的表。
  2. 单击“数据表”选项卡,然后使用“数据类型和格式”组中的命令查看各个表字段的属性。

在设计视图中查看表属性

  1. 在导航窗格中,右键单击表,然后单击“设计视图”

    Access 将在设计网格中打开该表。

  2. 在该网格下半部分的“字段属性”下,单击“常规”选项卡(如果未选择的话)。

    - 或 -

    若要查看查阅字段的属性,请单击“查阅”选项卡。

    查阅字段是一个表字段,它使用一个硬编码值列表或一个查询,该查询从数据库的一个或多个表检索值。默认情况下,查阅字段以列表的形式显示值。根据数据库设计者设置查阅字段的方法不同,您可以从该列表中选择一个或多个项目。

    查阅字段往往会把不熟悉 Access 的用户弄糊涂,因为项目列表(Access 通过查阅字段中的数据创建的列表)显示在一个位置,但该数据可能驻留在另一个位置(包含该数据的表)。记住,在更新查阅字段中的数据时,必须更新源表(第二个位置)。不能从该列表中更新查阅字段。

下表列出了对数据输入影响最大的属性并说明了它们有哪些影响。

属性 在表设计网格中的位置 可能的值 试图输入数据时的行为
字段大小 “常规”选项卡 0-255 该字符限制仅适用于设置为文本数据类型的字段。如果尝试输入的字符数超过了指定的字符数,该字段会截去多余的字符。
必填字段 “常规”选项卡 是/否 如果为某一字段启用该属性,则必须在该字段中输入值,并且在未填写完该字段之前,Access 不允许保存任何新数据。如果为某一字段关闭该属性,该字段将接受空值,这表示该字段可以保留为空。

 注释   空值不等同于零。零是一个数字,Access 可以在计算中使用它。空值是一个缺失、未定义或未知的值。

允许空字符串 “常规”选项卡 是/否 如果启用该属性,则可以输入零长度字符串(即不包含字符的字符串)。若要创建空字符串,请键入一对中间没有空格的双引号 ("") 并按 Enter。 
索引 “常规”选项卡 是/否 如果对表字段进行索引,Access 会禁止添加重复的值。
输入掩码 “常规”选项卡 一组预定义或自定义的文字和占位符字符

使用输入掩码时,必须以预定义格式输入数据。在表中选择字段或者在窗体上选择控件时,将显示掩码。例如,假设您单击了“日期”字段并看到以下一组字符:MMM-DD-YYYY。这组字符就是输入掩码。该掩码要求您必须以三位字母缩写形式(如 OCT)输入月份值,以四位数而不是两位数形式输入年份值。因此,如果您看到该掩码,必须输入类似于 OCT-15-2006 格式的日期。

 注释   记住,输入掩码只控制输入数据的方式,而不控制 Access 显示该数据的方式。例如,可以将日期输入为 OCT-15-2006,但 Access 可能会将该值存储为 10152006,即,不包含格式字符。这时,在表、窗体或报表中查看该日期时,Access 可能会设置为将其显示为 10/15/2006。 

有关创建和使用输入掩码的详细信息,请参阅设置行和列中数据的格式一文。

显示控件 “查阅”选项卡 所使用的值取决于为字段所设置的数据类型 对于“文本”和“数字”字段,可以选择文本框、列表框或组合框控件。对于“是/否”字段,可以选择复选框、文本框或组合框控件。

 注释   如果选择“列表框”“组合框”以外的任何值,Access 会隐藏“查阅”选项卡上的其余属性。

行来源类型 “查阅”选项卡 表/查询
值列表
字段列表
如果将“显示控件”属性框设置为“列表框”“组合框”,则可以将该属性设置为“表/查询”“值列表”“字段列表”。而该属性则控制可在“行来源”属性中所使用的值类型。请参阅下一条。
行来源 “查阅”选项卡 取决于“行来源类型”属性。 如果“行来源类型”属性设置为“表/查询”,该属性字段可以包含表或查询的名称。如果“行来源类型”属性设置为“值列表”,该属性将包含一个值列表,其中的各值用分号 (;) 分隔。如果“行来源类型”属性设置为“字段列表”,该属性将包含表、查询或结构化查询语言 (SQL) 语句的名称。
限于列表 “查阅”选项卡 是/否 如果该属性设置为“是”,当用户在组合框控件中输入文本时,Access 将查找匹配的值。换句话说,“是”设置将启用提前键入功能。此外,该设置还会阻止用户直接在列表或组合框控件中编辑列表项目。用户必须改在“行来源”属性框中编辑这些项目;或者就查阅字段而言,必须在该查阅字段的源数据表中编辑这些项目。有关使用查阅字段的详细信息,请参阅文章向数据库中添加一个或多个记录中的“编辑查阅字段中的项目”一节。
允许编辑值列表 “查阅”选项卡 是/否 为值列表(而不是查阅字段)启用或禁用“编辑列表项目”命令。若要为查阅字段启用该命令,请在“列表项目编辑窗体”属性中输入有效的窗体名称。在右键单击列表框或组合框控件所打开的快捷菜单上,将显示“允许编辑值列表”命令。运行此命令时,将显示“编辑列表项目”对话框。此外,如果在“列表项目编辑窗体”属性框中指定了某一窗体的名称,Access 会启动该窗体而不是该对话框。

 注释   可以从位于窗体的列表框和组合框控件或位于表和查询结果集的组合框控件中运行“编辑列表项目”命令。窗体必须在设计视图或“浏览”视图中打开;查询结果集必须在数据表视图中打开。

列表项目编辑窗体 “查阅”选项卡 数据输入窗体的名称 如果在该表属性中指定了某一数据输入窗体的名称,则在用户运行“编辑列表项目”命令时,会打开该窗体。否则,在用户运行该命令时,会打开“编辑列表项目”对话框。

有关设计数据库表和设置属性的详细信息,请参阅下列文章。

  • 数据库设计基础:本文介绍一些基本概念,如规划数据库、设计数据和规范化(即将数据拆分到多个相关表中并去除冗余数据的过程)。 
  • 在数据库中创建表:说明如何创建表、添加主键(唯一标识表中每个行或记录的字段)以及如何设置数据类型和表属性。

 

使用窗体更新数据

可以使用窗体更新少量数据。此处的“少”是指要手动更新任意数量的记录。窗体可以为编辑和更新少量数据提供一种更方便快捷和更准确的方法。

使用窗体编辑数据的方式取决于窗体的设计。窗体可以包含任意数量的控件,如列表、文本框、按钮和数据表(类似于 Excel 工作表的网格)。窗体上的每个控件或者从基础表字段中读取数据,或者将数据写入基础表字段。可以对给定控件执行哪些操作取决于为基础表字段设置的数据类型、为该字段设置的任何属性及数据库设计者可能为每个控件设置的多个属性。有关数据类型和字段属性对数据输入有哪些影响的详细信息,请参阅本文前面所描述的数据类型对输入数据的方式有哪些影响表字段属性对输入数据的方式有哪些影响。 

下面各部分说明如何使用最常用的数据输入控件。如果您对特定数据库有什么问题,请与系统管理员或数据库设计者联系。

在文本框中添加或编辑文本

Access 提供了一种用于“文本”和“备注”字段的文本控件。通常,通过该控件的大小就可以确定基础字段是文本还是备注,该控件的大小通常会反映出基础表字段的大小。例如,如果将该控件绑定到最多可接受 50 个字符的“文本”字段,则可以相应地设置该控件的大小。相反,如果该控件绑定到“备注”字段,则可以将该控件的大小设置为不用滚动即会显示一两个文本段落。

此外,还可以将“备注”字段设置为支持格式文本格式。然后,可以向文本应用各种字体、字号、样式和颜色。

在文本框中编辑文本

  • 将光标放在文本框中并更改数据。请记住,不能对“文本”字段或“备注”字段中的数字执行计算。

应用格式文本格式

 注释   仅当文本框绑定到备注字段时,才能执行以下步骤。请参阅本文前面的查看表字段的属性中的步骤。

  1. 在数据表视图中打开表后,选择“备注”字段。通常,可以查找名为“注释”、“批注”或“说明”的字段。
  2. “开始”选项卡上的“字体”组中,使用按钮和菜单设置文本格式。

    可以应用不同的字体和字号、为文本设置加粗或倾斜样式及更改颜色等。

使用数据表更新数据

可以通过直接在数据表视图(类似于 Excel 工作表的行和列网格)中操作来更改数据。可以更改表、查询结果集和显示数据表的窗体中的数据。

通常,在只需要更改少数记录或单个记录的一部分时,使用数据表。如果您熟悉 Excel,了解数据表就会相对容易一些,并且无需深入了解 Access 的功能(如创建和运行查询等功能)就可以进行更改。

操作时请牢记下列事项。

  • 无需显式保存所做的更改。在将光标移至同一行的新字段或将指针移至另一行时,Access 会将这些更改提交给表。
  • 默认情况下,Access 数据库中的字段应设置为接受特定类型的数据,如文本或数字。输入的数据必须是该字段设置为接受的数据类型。如果未这样做,Access 就会显示一条错误消息。
  • 字段可能会应用输入掩码。输入掩码是一组文字和占位符,用于强制您以特定格式输入数据。例如,邮政编码的输入掩码可能要求输入符合法语格式的数据,而电话号码的输入掩码可能要求以德语格式输入数字。

    有关输入掩码的详细信息,请参阅设置行和列中数据的格式一文。

  • 除了附件和多值列表之外,在多数字段中只能输入一个值。如果您不知道某一字段是否接受附件,请与数据库设计者或系统管理员联系。Access 会在多值列表的每个列表项目旁显示一个复选框,因此多值列表始终可轻松识别。

更改数据表中的数据

  1. 在“导航”窗格中,双击包含要更改其数据的表或查询。

    默认情况下,Access 会在数据表视图(一种类似于 Excel 的网格)中打开该表或查询。 

  2. 单击或以其他方式将焦点放在要更改的第一个字段上,然后编辑其中的数据。
  3. 若要移至下一个字段,请按 Tab、使用箭头键之一或单击下一字段。

    默认情况下,按 Tab 时,Access 会使用 Windows 区域设置来确定是向左还是向右移动光标。如果计算机设置为使用从左到右阅读的语言,则在按 Tab 键时光标会向右移动。如果计算机设置为使用从右到左阅读的语言,则光标会向左移动。

对备注字段中的数据应用格式文本格式

  1. 在数据表视图中打开表或查询结果后,选择“备注”字段。

    通常,可以查找名为“注释”、“批注”或“说明”的字段。如果仍找不到“备注”字段,请参阅本文前面查看表字段的属性中的步骤。

  2. “开始”选项卡上的“字体”组中,使用按钮和菜单设置文本格式。

    可以应用不同的字体和字号、为文本设置加粗或倾斜样式及更改颜色等。

 

使用更新查询更改现有数据

您可以更新查询以添加、更改或删除一个或多个现有记录的一部分(但不是全部)。可以将更新查询视为一种强大的“查找和替换”对话框形式。可以输入选择条件(大致相当于搜索字符串)和更新条件(大致相当于替换字符串)。与该对话框不同的是,更新查询可接受多个条件,使您可以一次更新大量记录,并使您可以更改多个表中的记录。

请记住,不能使用更新查询添加整个记录。若要这样做,请使用追加查询。

有关详细信息,请参阅创建追加查询一文。

 

 注释   使用更新查询的最可靠方法是首先创建一个测试选择条件的选择查询。例如,假设要将某一给定客户的一系列“是/否”字段从“否”更新为“是”。为此,请向选择查询添加条件,直到该查询为该客户返回所有所需的“否”记录。在确定具有正确的记录后,将该选择查询转换为更新查询,输入更新条件,然后运行更新查询以更新所选的值。这一节中的步骤说明如何创建一个选择查询,然后将该选择查询转换为更新查询。

 

创建选择查询

  1. 打开包含要更新的记录的数据库。
  2. “创建”选项卡上的“其他”组中,单击“查询设计”

    查询设计器即会打开,显示“设计”选项卡并打开“显示表”对话框。

  3. 选择包含要更新的记录的表,单击“添加”,然后单击“关闭”

    每个表都会在查询设计网格的上半部分中显示为一个窗口,并且这些窗口会列出每个表中的所有字段。下图显示包含一个典型表的查询设计器。

    查询设计器中的表

  4. 双击要更新的字段。所选字段显示在查询设计器下半部的“字段”行中。

    可以向下半部分的每个列分别添加一个表字段,也可以通过双击表字段列表顶部的星号 (*) 快速添加表中的所有字段。下图显示添加了所有字段的查询设计器。

    添加了所有表字段的查询

  5. 也可以在设计网格的“条件”行中输入一个或多个条件。下表显示一些示例条件,并解释它们作用于查询的效果。

    条件 效果
    > 234 返回所有大于 234 的数字。若要查找所有小于 234 的数字,请使用 < 234。
    >= "Callahan" 返回从 Callahan 直至字母表末尾的所有记录
    Between #2/2/2006# And #12/1/2006# 返回 2006 年 2 月 2 日到 2006 年 12 月 1 日之间的日期 (ANSI-89)。如果数据库使用的是 ANSI-92 通配符,则使用单引号 (') 替代井号。例如:Between '2/2/2006' And '12/1/2006'
    Not "德国" 查找字段的具体内容并不完全等于“德国”的所有记录。此条件将返回包含除了“德国”以外的其他字符的记录,例如“德国(欧元)”或“欧洲(德国)”。
    Not "T*" 查找所有记录,以 T 开头的记录除外。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号 (%) 替代星号。
    Not "*t" 查找所有不以 t 结尾的记录。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号 (%) 替代星号。
    In(加拿大,英国) 在列表中,查找包含“加拿大”或“英国”的所有记录。
    Like "[A-D]*" 在文本字段中,查找所有以字母 A 到 D 开头的记录。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号 (%) 替代星号。
    Like "*ar*" 查找包含字母序列“ar”的所有记录。如果数据库使用的是 ANSI-92 通配符字符集,则使用百分号 (%) 替代星号。
    Like "Maison Dewe?" 查找满足以下条件的所有记录:以“Maison”开头并包含另一个含有 5 个字母的字符串,且该字符串的前 4 字母是“Dewe”而最后的字母未知。如果数据库使用的是 ANSI-92 通配符字符集,则使用下划线 (_) 替代问号。
    #2/2/2006# 查找 2006 年 2 月 2 日的所有记录。如果数据库使用的是 ANSI-92 通配符字符集,则用单引号(而不是井号)将日期括起来 ('2/2/2006')。
    < Date() - 30 返回 30 天以前的所有日期。
    Date() 返回包含当天日期的所有记录。
    Between Date() And DateAdd("M", 3, Date()) 返回从今天起三个月内的所有记录。
    Is Null 返回包含 Null(空或未定义)值的所有记录。
    Is Not Null 返回包含值的所有记录。
    "" 返回包含零长度字符串的所有记录。当您需要向必填字段添加值,但还不知道值是什么时,可以使用零长度字符串。例如,某个字段可能需要传真号码,但某些客户可能没有传真机。在这种情况下,可以输入中间不带空格的一对双引号 ("") 来替代数字。

  6. “设计”选项卡上的“结果”组中,单击“运行”

    验证查询仅返回要更新的记录。根据需要,可以选择不需要的字段并按 Delete 将其删除;可以将其他字段拖到设计网格上;还可以更改条件,直到您对查询结果感到满意为止。

  7. 转到下列步骤。

更新记录

  1. “设计”选项卡上的“查询类型”组中,单击“更新”

    这会将选择查询更改为更新查询。Access 会在查询设计器的下半部分中添加“更新到”一行。

    具有一个更新条件的更新查询

  2. 找到包含要更改的数据的字段,然后在该字段的“更新到”行中输入您的表达式(该表达式将更改数据)。

    下表显示了一些示例表达式并说明它们对数据进行了哪些更改。

    表达式 结果
    "Salesperson" 在“文本”字段中,将文本值更改为 Salesperson(销售人员)。
    #8/10/06# 在“日期/时间”字段中,将数据值更改为 10-Aug-06。
    在“是/否”字段中,将值“否”更改为“是”
    "PN" & [PartNumber] 将“PN”添加到每个指定部件号的开头。
    [UnitPrice] * [Quantity] 将名为 UnitPrice(单价)和 Quantity(数量)字段中的值相乘。
    [Freight] * 1.5 将名为 Freight(运费)的字段中的值增大 50%。
    DSum("[Quantity] * [UnitPrice]",
    "Order Details", "[ProductID]=" & [ProductID])
    如果当前表的 ProductID(产品 ID)值与名为 order Details(订单明细)的表中的 ProductID(产品 ID)值相匹配,该表达式会通过将名为 Quantity(数量)字段中的值与名为 UnitPrice(单价)字段中的值相乘来更新销售总额。
    Right([ShipPostalCode], 5) 从最左侧截断文本或数字字符串中的字符,保留最右边的五位字符。
    IIf(IsNull([UnitPrice]), 0, [UnitPrice]) 将名为 UnitPrice(单价)字段中的空值(未知或未定义的值)更改为零 (0)。
  3. “设计”选项卡上的“结果”组中,单击“运行”

    将显示一条警告消息。下图显示此消息:

    更新查询警告消息

  4. 单击“是”可返回查询。

     注释   您可以关闭该警告消息。为此,请依次单击“Office 按钮”按钮图像“Access 选项”“高级”,然后清除“确认”下的“动作查询”复选框。

  5. 要查看更新查询的结果,请在“起始页”选项卡或“设计”选项卡上的“视图”组中,单击“视图”,然后单击“数据表视图”。也可以单击 Access 状态栏上的“数据表视图”按钮。

     注释   在运行该查询时,可能会发现某些字段未显示在结果集中。如果查询包含未更新的字段,默认情况下 Access 会删除这些字段。例如,可能包含了两个表的 ID 字段以帮助确保查询返回和运行正确的记录。如果未更新这些 ID 字段,Access 就会删除它们。

使用追加查询向表添加记录

追加查询最常用的一个用法是将源数据库中一个或多个表的一组记录添加到目标数据源中一个或多个表中。例如,假设您获得了一些新客户和一个数据库,数据库中包含有关这些客户信息的表。若要避免手动输入这些新数据,可以将这些新数据追加到数据库中相应的表中。追加查询还可用于:

  • 根据条件追加记录。例如,您可能希望仅追加订单未完成的客户名称和地址。
  • 某一表中的某些字段在另一个表中没有匹配的字段时追加记录。例如,假设该数据库的 Customers(客户)表有 11 个字段,而另一个数据库的 Customers(客户)表有 9 个与之匹配的字段。您可以使用追加查询只添加匹配字段中的数据,并忽略其他字段。

创建追加查询以便将一个数据库中的数据追加到另一个数据库的过程涉及以下基本步骤:

  • 打开源数据库(即包含要追加的记录的数据库)并创建一个选择查询以仅返回要追加的记录。
  • 将该选择查询转换为追加查询。
  • 向追加查询添加目标表和字段。如果要将记录追加到其他数据库,应先打开该数据库,然后选择表。
  • 运行查询以追加记录。

 注释    开始前请备份数据。如果出错,可以从目标表中删除追加的记录,但手动删除大量记录会花费很长时间。将备份放在手头可以有助于在更少的时间内纠正所有错误。

创建选择查询

  1. 打开源数据库(即包含要追加的记录的数据库)。 
  2. “创建”选项卡上的“其他”组中,单击“查询设计”

    将显示查询设计网格和“显示表”对话框。

  3. 选择包含要追加的记录的表,单击“添加”,然后单击“关闭”

    该表在查询设计网格的上半部显示为一个窗口。该窗口列出了表中的所有字段。下图显示查询设计器中的一个典型表:

    查询设计器中的表

  4. 将要追加的字段从表中拖动到查询设计网格下半部的“字段”行。

    可以向下半部分的每个列分别添加一个表字段。要快速添加所有字段,请单击表字段列表顶部的星号(“*”)。下图显示添加了几个表字段的查询设计器:

    设计网格中包含三个字段的查询

    下图显示添加了所有字段的设计器:

    包含所有表字段的查询。

  5. “设计”选项卡上的“结果”组中,单击“运行”

    请验证查询返回的记录是否是要追加的记录。如果需要,可以清除“显示”复选框或者按 Delete 删除不需要的字段。也可以将其他字段拖动到设计网格中,直到对查询结果满意为止。

  6. 继续执行后面的步骤。

将该查询转换为追加查询

  1. “设计”选项卡上的“查询类型”组中,单击“附加”

    “追加”对话框即会出现。

  2. 此时,您可以将一个表中的记录追加到同一数据库中的其他表中,或将记录追加到其他数据库的表中。
    • 将记录追加到同一数据库中的表

      1. “追加”对话框中,单击“当前数据库”(如果尚未选择),然后从“表名称”列表中选择目标表。
      2. 单击“确定”

        在上一节的第 4 步中,您将源表中的部分字段或所有字段添加到了查询设计网格中。如果在该步骤中添加了整个表,Access 即会将整个目标表都添加到“追加到”行中,如下所示:

        包含两个表中所有字段的追加查询

        - 或 -

        如果在上一节的第 4 步中添加了个别字段,且源表和目标表中的字段名匹配,则 Access 会自动将目标字段名添加到“追加到”行中,如下所示:

        具有匹配字段的追加查询

        - 或 -

        如果添加了个别字段,但源表和目标表中的某些或所有字段名不匹配,则 Access 会将“追加到”行中不匹配的字段保留为空。单击每个空白字段,然后从结果列表中选择所需的源字段,如下所示。

        选择追加查询的目标字段

      3. 若要预览所做的更改,请单击“视图”
      4. 返回设计视图,然后单击“运行”以追加记录。
    • 将记录追加到其他数据库中的表

      1. “追加”对话框中,单击“另一数据库”
      2. “文件名”字段中,键入目标数据库的位置和名称。
      3. “表名称”字段中,键入目标表的名称,然后单击“确定”

        - 或 -

        单击“浏览”并,使用第二个“追加”对话框查找目标数据库。找到并选中目标数据库之后,单击“确定”。第二个对话框将关闭。在第一个对话框的“表名称”字段中,输入目标表的名称,然后单击“确定”

        键入目标表的名称,然后单击“确定”关闭第一个“追加”对话框。

        在上一节的第 4 步中,您将源表中的部分字段或所有字段添加到查询设计网格的“字段”行中。如果在该步骤中添加了整个表,Access 即会将整个目标表都添加到“追加到”行中,如下所示:

        包含两个表中所有字段的追加查询

        - 或 -

        如果在第 4 步中添加了个别字段,且源表和目标表中的字段名匹配,则 Access 会自动将目标字段名添加到“追加到”行中,如下所示:

        具有匹配字段的追加查询

        - 或 -

        如果添加了个别字段,但源表和目标表中的某些或所有字段名不匹配,则 Access 会将“追加到”行中不匹配的字段保留为空。单击每个空白字段,然后从结果列表中选择所需的目标字段,如下所示:

        选择追加查询的目标字段

      4. 若要预览所做的更改,请单击“视图”
      5. 切换到设计视图,然后单击“运行”以追加记录。

使用数据收集功能更新记录

Office Access 2007 提供了一种称为数据收集的新功能。可以在 Microsoft Office Outlook 2007 中建立一个数据输入窗体,收集信息,并将收集到的数据存储在 Access 数据库中。本文不讨论如何使用数据收集功能。

有关使用数据收集功能的信息,请参阅通过电子邮件收集数据一文。

使用“查找和替换”对话框更改数据

“查找和替换”对话框提供了用更少的时间和更少的操作更改少量数据的另一种方法。本文不讨论如何使用该对话框。

有关如何使用该对话框的信息,请参阅使用“查找和替换”对话框更改数据一文。

使用级联更新更改主键和外键值

有时,您可能需要更新某一主键值。如果将该主键用作外键,可以通过外键的所有子实例自动更新您所做的更改。

注意,主键是唯一标识数据库表中每个行(记录)的值。外键是与主键匹配的列。通常,外键位于其他表中,它们使您可以在各表的数据之间创建一个关系(链接)。

例如,假设您将产品 ID 号用作主键。一个 ID 号唯一标识一个产品。同时,也将产品 ID 号用作订单数据表中的外键。这样,您可以找到涉及到每个产品的所有订单,因为只要有客户订购了该产品,该产品 ID 就会包含在订单中。

有时,这些 ID 号(或其他类型的主键)会发生更改。如果它们发生更改,可以修改主键值并使这些更改自动在所有相关子记录中自动级联。可以通过在两个表之间启用参照完整性和级联更新,启用该行为。

执行操作时,请记住下列规则:

  • 只能为设置为文本或数字数据类型的主键字段启用级联更新。不能将级联更新用于设置为自动编号数据类型的字段。
  • 只能在具有一对多关系的表之间启用级联更新。

下列步骤说明如何创建关系并为该关系启用级联更新。

创建关系

  1. “数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”
  2. “设计”选项卡上的“关系”组中,单击“显示表”

    将显示“显示表”对话框。

  3. 如果未选择要更改的表,请单击“表”选项卡进行选择,单击“添加”,再单击“关闭”

    可以按住 Shift 以选择多个表,也可以单独添加各个表。仅选择关系的“一”方和“多”方的表。

  4. “关系”窗口中,将关系的“一”方的表中的主键拖放到关系的“多”方的表的外键字段上。

    将显示“编辑关系”对话框。下图显示此对话框:

    “编辑关系”对话框

  5. 选中“实施参照完整性”复选框,然后单击“创建”
  6. 继续执行下一组步骤。

在主键中启用级联更新

  1. 如果未按照上一节中的步骤操作,请打开包含要更改的关系的数据库。
  2. “数据库工具”选项卡上的“显示/隐藏”组中,单击“关系”

    将出现“关系”窗口,其中显示数据库中各表之间的联接(显示为连接线)。下图显示一种典型的关系:

    两个表之间的关系

  3. 右键单击父表和子表之间的联接线,然后单击“编辑关系”

    将显示“编辑关系”对话框。下图显示此对话框:

    具有现有关系的“编辑关系”对话框

  4. 选中“级联更新相关字段”,并确保选中“实施参照完整性”复选框,然后单击“确定”

有关创建关系的详细信息,请参阅下列文章:

相关热词搜索:

上一篇:Access2007中使用“查找和替换”对话框更改数据
下一篇:从Access2007数据库中删除一项或多项记录

分享到: 收藏
频道总排行
频道本月排行