将通过电子邮件收集的数据添加到 Access 数据库

应用对象
Access 2010 Access 2007

注意

有关在 Access 2016 及更高版本中收集数据的信息,请参阅导入、导出、SQL Server。

可以将 Microsoft Access 2007 或 Access 2010 与 Microsoft Outlook 2007 或 Microsoft Outlook 2010 结合使用,通过电子邮件收集或更新信息。 Access 将指导你创建数据收集表单并通过电子邮件发送该表单。 当电子邮件收件人返回填妥的表单时,你可以选择自动处理收集的数据并将其存储在指定的 Access 数据库中。 这种数据收集方法可以节省复制粘贴或手动数据输入过程中通常涉及的时间和精力。 下面是一些可以使用此过程收集数据的场景:

调查 你可以通过首先创建一个包含存储结果所需的表的 Access 数据库,使用向导生成调查表单,然后将其邮寄给调查参与者,来执行调查并编译结果。 当参与者回复时,调查数据会自动存储在数据库中。

状态报告 无论是最新的库存水平状态还是有关未决问题的最新信息,您的团队都可以通过定期向您发送包含当前信息的电子邮件来让您随时了解情况。

事件管理 组织会议、培训或其他活动时,可以发送一个或多个表单作为电子邮件,以收集联系信息、旅行和酒店偏好等。 如果您选择自动处理回复,参与者可以随时更改他们的偏好,而无需通知您,并且您始终可以访问最新数据以进行决策。

本文介绍使用此过程需要哪些内容、如何开始使用向导,然后提供有关各种步骤的其他信息,以便您可以在按照向导操作时做出最明智的选择。

注意

如果收件人使用 Hotmail 或 Yahoo 向你发送数据收集表单,你将无法添加收集的数据。

开始前

如果这是你第一次使用电子邮件收集数据,请执行以下步骤:

  1. 确保您已在计算机上安装以下应用程序:

    • Access 2007 或 Access 2010。
    • Outlook 2007 或 Outlook 2010。 必须在用于发送电子邮件的计算机上安装并配置 Outlook。 如果已安装 Outlook 但尚未配置,请启动 Outlook 并按照 Outlook 启动向导中的说明进行操作。 有关向导的帮助,请参阅 Outlook 帮助。
    • 如果计划使用 InfoPath 表单,请确保已安装 InfoPath 2007 或更高版本,并且收件人还需要在其计算机上安装 InfoPath。
    • 您的电子邮件收件人必须在其计算机上安装 InfoPath 或支持 HTML 格式的电子邮件客户端,以便能够查看和编辑表单。
      用于通过电子邮件收集数据的表单不是 Access 表单。 该向导会以 HTML 或 InfoPath 格式生成一个特殊表单。
      确定目标数据库。 数据库可以为 .mdb 或 .accdb 格式。 此外,还支持 .mde 和 .accde 文件。 如果您不想使用现有数据库,则必须创建一个新数据库。
  2. 确定要使用电子邮件回复中的数据填充或创建表。 如果要收集现有表的数据,请确保这些表不是只读的,并且您具有添加或更新其内容所需的权限。

注意

无法使用电子邮件收集附件、自动编号、OLE 和多值字段类型

如果数据收集操作填充两个或多个表,则必须创建 select 查询并将其用作窗体的记录源。 确保查询包含基础表中的所有必填字段。 如果使用的是现有查询,请确保查询不是只读查询,并且您具有添加或更新其内容所需的权限。 有关基于两个或多个表创建查询的详细信息,请参阅 查询简介一文。

在以下情况下将数据存储为新记录:

  • 如果数据将填充多个表。
  • 如果目标表没有主键字段。 主键值是将每个回复映射到现有记录所必需的。 如果目标表没有主键字段,请立即添加它或指定具有唯一值的现有字段作为主键。
  • 如果目标表没有任何记录。 如果表为空,向导会假定您要添加记录。
  • 如果收件人的电子邮件地址未存储为数据库中的字段。 在收集数据以更新记录时,你将无法在向导生成的消息中手动键入地址。 address 字段必须位于目标表中,或者位于与目标表有关系的表中。

返回页首

入门

  1. 打开存储收集数据的数据库。

  2. 要将数据添加到单个表中,请在导航窗格中选择该表。 若要填充多个相关表,请选择绑定到这些表的查询。

  3. 执行下列任一操作以启动向导:

    • 在 “外部数据 ”选项卡的 “收集数据 ”组中,单击 “创建电子邮件”。

    • 右键单击表或查询,然后单击 “通过电子邮件收集和更新数据”。

      注意

      如果表不包含任何字段,或者只有“自动编号”、“OLE 对象”、“附件”或多值查阅字段类型,则 Access 将显示以下消息: 所选表或查询不具有任何支持使用电子邮件收集数据的字段。

如果表包含支持数据收集的字段,则该向导将启动。 如果目标表同时支持添加和更新数据,向导将指导您完成通过电子邮件收集数据的必要步骤。

使用以下部分作为您在流程的以下七个主要步骤中可能遇到的任何问题的参考。

  1. 选择要发送的数据输入表单类型
  2. 选择是收集新数据还是更新现有数据
  3. 指定要收集的数据
  4. 指定自动或手动数据处理
  5. 选择要如何指定收件人的电子邮件地址
  6. 审阅并指定收件人列表
  7. 创建和发送电子邮件

返回页首

选择要发送的数据输入表单类型

根据您自己和收件人的易用性选择表单类型。

选择 HTML 表单 其电子邮件客户端支持 HTML 的任何用户都可以查看和编辑 HTML 表单

选择 Microsoft InfoPath 表单 仅当计算机上安装了 InfoPath 时,才能看到此选项。 仅当收件人的计算机上都安装了 InfoPath 和 Outlook 时,才选择此选项。 InfoPath 表单提供了更好的数据输入和编辑环境,

接下来显示的向导页面取决于目标对象是否支持数据更新。 如果对象是基于两个或多个表的查询,或者如果它是没有主键字段或不包含任何记录的表,向导会假定您要添加新记录,并提示您选择窗体字段。 在所有其他情况下,向导会提示您指定是要添加还是更新数据,然后再要求您选择窗体字段。

返回页首

选择是收集新数据还是更新现有数据

指定要对数据执行的操作。 您使用的表单类型会影响收件人在单个答复中可以发送给您的新记录数。 更新数据时,收件人必须更新的记录数标识了将包含在邮件中的预填表单数量。

注意

若要添加新记录,请在创建邮件时在电子邮件的地址框中键入电子邮件地址。 要更新现有数据,收件人的电子邮件地址必须作为字段存储在基础表或查询中,或存储在相关表中。

返回页首

指定要收集的数据

选择要包含在表单中的字段时,无需在表单中包含基础表或查询中存在的每个字段。 但是,必须满足以下条件:

  • 必填字段: 标有星号 (*) 符号的字段是必填字段。 如果您要收集新记录,该向导将自动包括必填属性设置为是的所有字段。 如果任一记录的必填字段为空,Access 无法将该记录添加到表中。

  • 不支持的字段类型: 无法在表单中包含某些字段类型,例如自动编号、附件、OLE 对象或多值查找字段。

  • 主键字段: 但是,用户将能够在添加记录时在字段中键入值;如果指定的值已在使用中,则不会处理答复。

    注意

    对于每个包含的字段,在 字段属性下,指定一个标签,如果不希望用户更改该字段中的数据,请单击只 读 。

返回页首

指定自动或手动数据处理

可以选择自动或手动处理答复。 自动处理意味着收到回复时,Outlook 和 Access 会协同工作,将数据导出到数据库中的目标表。 自动处理可以节省您的时间和精力。 手动处理仅意味着启动导出操作,将数据从 Outlook 中的指定文件夹传输到 Access 中的目标表。

只要在答复到达邮箱时满足以下条件,答复就会成功导出到目标表:

  • Outlook 必须已在计算机上运行。 如果 Outlook 未运行,则在下次启动 Outlook 时开始处理。

  • 访问权限不得受密码保护,且不得以独占模式打开。 自发送电子邮件以来,数据库的名称或位置不得更改。

  • 表和查询的名称以及窗体中包含的字段的属性在发送电子邮件后不得更改。

  • 您必须具有添加或更新基础表和查询的内容所需的权限。

    注意

    如果自动处理失败,请尝试修复任何问题,然后手动导出失败的回复。 解决问题后到达收件箱的任何回复将继续自动处理。

设置属性以控制自动处理答复

若要指定存储回复的不同 Outlook 文件夹,请在向导的 “指定你希望如何处理回复” 页面上,单击文件夹名称。 在 “选择文件夹” 对话框中,选择其他文件夹,或单击“ 新建 ”以创建新文件夹。

如果单击“ 设置属性”来控制回复的自动处理以 更改或微调导入设置,请参阅下表以了解可用选项的信息:

选项 结果
放弃你未向其发送邮件的人员的回复 如果仅希望自动处理邮件原始收件人发送的答复,请选中此检查框。 其他人的答复存储在目标文件夹中,但不会自动处理。
接受每个收件人的多个回复 如果只想自动处理每个收件人的第一条回复,请选中此检查框。 第二个和后续答复存储在目标文件夹中,但不会自动处理。
注意: 此设置仅控制已处理的回复数,而不控制单个答复中的记录数。 换言之,如果你发送 InfoPath 表单,则用户可以在一次答复中向你发送多条记录,并且 Access 会自动处理答复中的所有记录,即使未选中此检查框也是如此。
仅允许更新现有数据 当收件人使用 InfoPath 表单更新数据时,除了更新现有记录外,他们还可以发送新记录。 选中此检查框将仅处理现有记录的更新。
要处理的回复数 键入要自动处理的所有收件人) (的答复总数。 如果希望自动处理所有答复,请在文本框中输入一个较大的值,如 5000。 达到指定值后收到的答复存储在目标文件夹中,但不会自动处理。
停止日期和时间 指定此电子邮件的自动答复处理应何时停止。 在此日期和时间之后收到的答复存储在目标文件夹中,但不会自动处理。

若要稍后更改这些选项,请在 “外部数据 ”选项卡的“ 收集数据 ”组中,单击 “管理答复”。 在 “管理数据收集邮件 ”对话框中,选择要更改其设置的邮件,然后单击“ 邮件选项”。 在对话框中所做的更改会影响该消息收到的所有后续答复。

手动处理回复

要控制何时以及处理哪些答复,请不要选择自动处理选项。 回复将存储在 Outlook 的指定文件夹中,直到您选择并右键单击该文件夹中的每条回复,然后单击快捷菜单中的 “将数据导出到 Microsoft Access ”。

在某些情况下,您可能还必须手动处理无法自动处理的答复。

导出数据前请记住以下事项

  • Access 数据库不应以独占模式打开,且自发送电子邮件以来数据库的名称或位置不得更改。
  • 表和查询的名称以及窗体中包含的字段的属性在发送电子邮件后不得更改。
  • 您必须具有添加或更新基础表和查询的内容所需的权限。

返回页首

选择要如何指定收件人的电子邮件地址

如果只收集新信息,可通过两种方式指定电子邮件地址:

  • 在 Outlook 电子邮件中单独键入电子邮件地址,或从通讯簿中选择地址。

  • 使用当前 Access 数据库的表或查询中的电子邮件地址字段。

    注意

    当收集数据以更新现有记录时,你看不到此对话框,因为收件人的电子邮件地址必须首先作为数据库中的一个字段提供。

直接在 Outlook 中输入电子邮件地址

如果在 Outlook 中指定收件人,则可以在发送邮件之前预览并自定义邮件。 在电子邮件正文中,包括简介和表单。 建议不要对表单进行任何更改。 更改表单结构可能会导致无法处理回复。

使用存储在数据库字段中的电子邮件地址

选择 关联表的 选项是指相关的表。 若要查看或编辑数据库中的表关系,请在 “数据库工具” 选项卡上的“ 关系 ”组中,单击 “关系”

有关关系的详细信息,请参阅 表关系指南一文。

返回页首

审阅并指定收件人列表

最后一个主要步骤包括预览和自定义电子邮件、微调收件人列表,然后发送数据收集邮件。

创建和发送电子邮件

当向导通知您现在可以创建电子邮件,并向您展示如何使用 “管理答复” 命令查看电子邮件状态时,可能会显示一些警告消息。 下表介绍了每个警告以及你可以采取的解决警告措施:

警告消息 说明 S 解决方案
指定的电子邮件地址字段中未包含某些记录的有效地址。 不会为这些行返回任何数据。 选定的电子邮件地址字段包含 null 值。 如果要收集每条记录的数据,请退出向导并将 null 值替换为电子邮件地址。 然后,再次启动该向导。
您当前对数据库有排他锁;在释放锁之前,自动处理将失败。 您当前在独占模式下打开了数据库。 如果选择自动处理答复,则处理将失败,因为 Access 无法添加或更新具有独占锁的数据库。 发送邮件后立即以非独占模式关闭并重新打开数据库
这些电子邮件可能包含机密或敏感数据。 您正在收集数据以更新现有记录,您将要发送的表单将使用现有数据预先填写。 如果某些窗体字段包含敏感数据,请返回到选择字段的向导步骤,并从窗体中删除包含敏感数据的字段

预览和自定义邮件后,可以筛选电子邮件地址字段并选择收件人。 通过选中相应的检查框来选择要使用的电子邮件地址。 如果看到列出无效电子邮件地址的对话框,请记下列表中的地址 ,然后单击退出。 验证无效地址,进行任何必要的更正,然后尝试重新发送邮件。

返回页首