多值字段指南

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

在大多数数据库管理系统(包括旧版本的 Microsoft Access)中,一个字段中只能存储一个值。在 Microsoft Office Access 2007 中,您还可以创建可存储多个值的字段,例如已经向其分配了一个问题的类别列表。多值字段非常适合于某些特定情况,例如当您使用 Office Access 2007 处理存储在 Windows SharePoint Services 3.0 列表中的信息,并且该列表包含一个使用 Windows SharePoint Services 中可用的多值字段类型之一的字段时。

本主题涵盖 Office Access 2007 和 Windows SharePoint Services 中的多值字段、如何创建多值字段、何时使用多值字段,以及如何在查询中使用多值字段。

本文内容

什么是多值的字段?

Windows SharePoint Services 中的多值的字段

何时使用多值的字段

如何创建多值的字段

使用查阅向导

修改多值字段的设计

如何使用查询中的多值的字段

什么是多值字段?

假设您有一项任务要分配给某个雇员或承包商,但您认为需要将它分配给多个人员。在 Office Access 2007 中,您可以创建一个多值字段,这样就可从列表中选择人员。

多值字段

单击组合框时,复选框显示为选中状态以指示您的选择。您可以选中或取消选中列表中的项目,然后单击“确定”提交您做出的选择。

多值字段组合框

所选的人员将存储在多值字段中,并在显示时用逗号分隔(默认情况下)。

用逗号分隔值的多值字段

多值字段背后的理念是使您在选择并存储多个选项等情况下能够轻松地提供支持,而无需创建更高级的数据库设计。多值字段对于与 Windows SharePoint Services 的集成也很重要,因为 SharePoint 列表也支持多值字段。

您可能想知道为什么 Office Access 2007 允许您在一个字段中存储多个值,而大多数关系数据库管理系统禁止这样做。答案是:Office Access 2007 中的数据库引擎并不真正将多个值存储在一个字段中。即使您看到和使用的似乎是一个字段,但这些值实际上单独存储,并且在一个隐藏的系统表中进行管理。Access 数据库引擎会帮您处理这些工作,自动分隔数据并将它们重新收集在一起,就像它们是在一个字段中。

从技术角度来说,Access 多值字段建立了一个多对多关系模型。例如,考虑一个事件表,您可以在其中将每个事件的责任分配给一个或多个雇员。假设您创建一个名为“分配给”的多值字段,用于将事件分配给雇员。事件和雇员之间是多对多的关系。也就是说,您可以将许多雇员分配给任何一个事件,也可以将任何一个雇员分配给许多事件。

返回页首

Windows SharePoint Services 中的多值字段

Windows SharePoint Services 2.0 支持选项列,允许在一个字段中选择和存储多个选项。在 Windows SharePoint Services 3.0 中,还可以创建一个查阅字段,用于在一个字段中选择和存储多个选项。为了使 Office Access 2007 与 Windows SharePoint Services 集成并支持其字段类型,Office Access 2007 实现了对多值字段的支持。

当您链接到使用这些多值数据类型之一的 SharePoint 列表时,Office Access 2007 会自动在本地创建并使用 Access 多值类型。

将 Access 表导出到 SharePoint 列表且该 Access 表中包含一个多值字段时,该字段将成为在 Windows SharePoint Services 中可用的多值字段类型之一。同样,当您将 Access 数据库迁移到 SharePoint 网站且该数据库包含具有多值字段的 Access 表时,这些多值字段中的每一个都将成为 Windows SharePoint Services 的多值字段类型之一。

返回页首

何时使用多值字段

当您想要执行以下操作时,应考虑创建一个多值字段:

  • 存储来自选项列表的多值选择,且该选项列表相对较小。

    通过使用表设计视图中的“查阅向导”在 Office Access 2007 中创建多值字段。

  • 将 Access 表导出到 SharePoint 网站,以便该表使用在 Windows SharePoint Services 中可用的多值选项或查阅字段。

    通过使用表设计视图中的“查阅向导”在 Office Access 2007 中创建多值字段。然后将该表导出到 SharePoint 列表。

  • 将 Access 数据库迁移到 SharePoint 网站,以便该数据库能够使用在 Windows SharePoint Services 中可用的多值选项或查阅字段。

    通过使用表设计视图中的查阅向导在 Office Access 2007 中创建多值字段。然后单击“外部数据”选项卡上的“迁移到 SharePoint”命令。

  • 链接到包含多值选项或多值查阅字段的 SharePoint 列表。

    在创建链接表时,系统会自动为您创建 Office Access 2007 多值字段并将其映射到 Windows SharePoint Services 字段。

除了前面的情况,您还可能需要在比较确定数据库以后不会迁移到 Microsoft SQL Server 时使用多值字段。Office Access 2007 多值字段将作为包含分隔值集合的备注 (ntext) 字段升迁到 SQL Server。由于 SQL Server 不支持建立多对多关系模型的多值数据类型,因此可能需要额外的设计和转换工作。

返回页首

如何创建多值字段

当您打开一个表时,该表是在数据表视图中打开的。单击“数据表”选项卡上的“字段和列”组中的“查阅列”,可以添加一个多值查阅列。此操作将启动查阅向导,引导您完成创建查阅列的过程。

  1. 单击“Microsoft Office 按钮” Office 按钮图像 ,然后单击“打开”。

  2. “打开”对话框中,选择并打开数据库。

  3. 在导航窗格中,双击打开要在其中创建查阅列的表。

  4. “数据表”选项卡上的“字段和列”组中,单击“查阅列”

    Access 功能区图像

    查阅向导随即出现。

    选择表/查询或值列表的查阅向导页

  5. 在查阅向导的第一个对话框中,您必须决定是根据表或查询中的值建立查阅列,还是根据您所键入的值的列表建立查阅列。

    最常见的一类多值查阅列会显示从相关表或查询中找到的值。

  6. 若要了解如何完成查阅向导,请参阅使用查阅向导。有关如何创建多值的字段的更多详细信息,请参阅添加或更改查阅列,允许您存储多个值

返回页首

使用查阅向导

在数据表视图中创建查阅列、从“字段列表”窗格中将字段拖动到数据表视图中打开的表中或在设计视图的“数据类型”列中选择“查阅向导”时,将调用查阅向导。此向导将引导您逐步创建一个查阅列,并根据您的选择自动设置相应的字段属性。该向导还在需要的位置创建表关系和索引以支持查阅列。

出现此向导后,必须决定是根据表或查询建立查阅列,还是根据您所输入的值的列表建立查阅列。大多数情况下,如果您的数据库设计正确,而且信息也根据主题分成了若干个表,您会选择表或查询作为查阅列的源。

  • 根据表或查询创建多值查阅

    在从“字段列表”中拖动字段以创建多值字段时,以下过程中的前两个步骤将自动执行,因此您从第三个步骤开始执行。

    1. 在“查阅向导”中,单击“我希望查阅列查阅表或查询中的值”,然后单击“下一步”

    2. 从列表中选择一个表或查询,然后单击“下一步”

    3. “可用字段”下,单击要包括在查阅中的字段。

    4. 单击大于号按钮 (>) 将单击选中的字段移至“选定字段”列表中。

    5. 重复以上两个步骤,直到要包括在查阅中的所有字段都列在“选定字段”列表中。接下来,单击“下一步”

    6. 可以选择根据一到四个字段对查阅项进行排序,然后单击“下一步”。单击“升序”按钮可以将按升序对查阅项进行排序切换为按降序对查阅项进行排序。请注意,按钮的名称切换为“降序”。再次单击该按钮可以切换回按升序对查阅项进行排序,并且按钮的名称切换回“升序”。单击“下一步”继续。

    7. 如有必要,请调整查阅字段中各列的宽度,然后单击“下一步”

    8. “是否要为该查阅存储多个值?”下,选中“允许多值”复选框。

      注意: 必须选中此复选框才允许存储多个值。

    9. 单击“完成”

      单击“完成”按钮时,将创建一个查阅列,该列的字段属性是根据您在查阅向导中所做的选择设置的。

    10. 要保存表,请单击 Office 按钮图像 Microsoft Office 按钮,然后单击保存

  • 根据输入的值创建多值查阅

    1. 在查阅向导中,单击“自行键入所需的值”,然后单击“下一步”

    2. 输入列的数。然后,键入每个值。若要移动到下一列或行,请按 TAB。

    3. 完成值的输入后,单击“下一步”

    4. 如果您指定在步骤 2 中的多个列,您必须选择将用于唯一标识每个值的列。在可用字段框中,双击要使用唯一标识每个值的列。

      注意: 如果您没有在步骤 2 中指定多个列,此步骤不会显示。

    5. 在查阅向导中,键入查阅列的标签。

    6. “是否要为该查阅存储多个值?”下,选中“允许多值”复选框。

      注意: 必须选中此复选框才允许存储多个值。

    7. 单击“完成”

      单击“完成”按钮时,将创建一个查阅列,该列的字段属性是根据您在查阅向导中所做的选择设置的。

    8. 要保存表,请单击 Office 按钮图像 Microsoft Office 按钮,然后单击保存

      创建多值字段后,当您在数据表视图中查看该表时,该字段显示为复选框下拉列表。

返回页首

修改多值字段的设计

有关如何修改多值字段的设计,请参阅文章添加或更改查阅列,允许您存储多个值

返回页首

如何在查询中使用多值字段

在查询中使用多值字段时,必须决定是要检索包含由逗号分隔的所有值的整个多值字段,还是检索每个值的单独行。例如,假设您有一个“问题”表,其中包含用于向雇员分配问题的“分配给”字段。您可以构建一个包含“分配给”字段的查询,如下所示:

  1. 单击“Microsoft Office 按钮” Office 按钮图像 ,然后单击“打开”。

  2. “打开”对话框中,选择并打开数据库。

  3. “创建”选项卡上的“其他”组中,单击“查询设计”

    Access 功能区图像

  4. “显示表”对话框中,单击包含多值字段的表(在本例中为“问题”表),然后单击“添加”

  5. 单击“关闭”

  6. 将要使用的字段拖动到查询网格。在此示例中,将“标题”字段和名为“分配给”的多值字段拖动到查询网格。

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

您的查询结果将如下所示,第一列显示问题标题,第二列显示多值字段:

显示“标题”和“分配给”字段的查询结果


假设您想要查看展开的“分配给”多值字段,以便每个“分配给”值在单独的行中显示。为此,您需要通过在“字段”行中向“分配给”追加字符串“.值”来指定属性,如此处的查询网格中所示:

显示“标题”和“分配给.值”的查询网格

如果在“字段”行中指定分配给,当您运行查询时,Access 将只在一行中显示多值字段中的所有值。但是,当您使用属性(如在分配给.值中)时,Access 将以展开的形式显示多值字段,以使每个值都显示在单独的行中。您可以创建一个查询,按如下所示显示每个值:

  1. 单击“Microsoft Office 按钮” Office 按钮图像 ,然后单击“打开”。

  2. “打开”对话框中,选择并打开数据库。

  3. “创建”选项卡上的“其他”组中,单击“查询设计”

    Access 功能区图像

  4. “显示表”对话框中,单击包含多值字段的表(在本例中为“问题”表),然后单击“添加”

  5. 单击“关闭”

  6. 将要使用的字段(在本例中为名为“分配给.值”的多值字段)拖动到查询网格。

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

您的查询结果将如下所示,第一列显示问题标题,第二列显示分配给.值:

显示“标题”和每个“分配给”值的查询结果

使用在查询中的多值的字段的详细信息,请参阅使用在查询中的多值的字段

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×