想要合并和增强 Access 和 SharePoint? 为此,可以在它们之间导入、链接或移动数据。 导入会在 Access 数据库中创建 SharePoint 列表的副本。 链接连接到另一个程序中的数据,以便您可以在 SharePoint 和 Access 中查看和编辑最新数据。 移动会在 SharePoint 网站上创建列表,这些列表仍链接到数据库中的表并维护其关系。
警告: 尽管可以将 Access 数据库文件保存到 OneDrive 或 SharePoint 文档库,但我们建议避免从这些位置打开 Access 数据库。 该文件可以下载到本地进行编辑,然后在将更改保存到 SharePoint 后再次上传。 如果多人从 SharePoint 打开 Access 数据库,可能会创建数据库的多个副本,并可能发生一些意外行为。 此建议适用于所有类型的 Access 文件,包括单一数据库、拆分数据库以及 .accdb、.accdc、.accde 和 .accdr 文件格式。 有关部署 Access 的详细信息,请参阅 部署 Access 应用程序。
你要做什么?
导入 SharePoint 列表
导入数据时,Access 将创建一个表,并将源列表(或视图)中的列和项目作为字段和记录复制到该表中。 在执行导入操作的过程中,您可以指定要复制的列表,对于每个选定列表可以指定是要导入整个列表还是只导入特定视图。 导入操作结束时,可以选择将该次导入操作的详细信息另存为规格。 导入规格可帮助您日后重复该导入操作,而不必每次都逐步完成“导入向导”。
下面列出了将 SharePoint 列表导入 Access 数据库的常见原因:
-
要将数据(例如联系人列表)永久地移至 Access 数据库,因为 SharePoint 网站上您不再需要该信息。 您可以将列表导入 Access中,然后从 SharePoint 网站删除它。
-
您的部门或工作组使用 Access,但偶尔会要求您从 SharePoint 列表获取必须合并到某一数据库的其他数据。
请在导入列表之前完成这些步骤
-
查找包含要复制的列表的 SharePoint 网站,并记下该网站的地址。
有效的网站地址以 http:// 或 https:// 开头,后跟服务器名称,并以服务器上特定网站的路径结尾。
-
识别要复制到数据库的列表,然后决定要复制整个列表还是只复制特定视图。 可以在一个导入操作中导入多个列表,但是只能导入每个列表的一个视图。 如有必要,请创建只包含您感兴趣的列和项目的视图。
-
请检查源列表或源视图中的列。
下表介绍了在导入不同元素时要牢记的一些注意事项:
元素
注意事项
列
Access 只导入前 256 列,因为其在一个表中只支持 256 个字段。 若要避免此问题,请在 SharePoint 中创建列表视图,并仅添加所需的列,确保列总数不超过 256。 然后使用 ImportSharePointList 宏操作指定预期的视图 ID。
文件夹
SharePoint 列表中的每个文件夹将变成 Access 表中的一个记录。 文件夹内的项目也显示为记录,紧邻对应于该文件夹的记录之下。
查阅列
如果源列在另一个列表中查找值,Access 会将显示值作为字段本身的一部分导入。 Access 不会导入查找的表。 如果要重新创建对另一个表的查找,请参阅 链接到 SharePoint 列表 和 将数据移动到 SharePoint。
计算列
计算列中的结果会被复制到其数据类型取决于计算结果的数据类型的字段。 执行该计算的表达式不会被复制。
附件
列表的附件列被复制到名为“附件”的字段。
多值列
类型为“选择”或“查阅”的列可以包含多个值。 当您导入支持多个值的列时,Access 将创建一个支持多个值的列。
RTF 格式
包含格式文本格式的列作为长文本字段导入 Access 。 “长 文本字段” 的“文本格式”属性设置为 “RTF”,并保留格式。
关系
Access 不会在导入操作结束时自动在相关表之间创建关系。 必须通过使用“关系”选项卡上的选项,在各个新表和现有表之间手动创建关系。 要显示“关系”选项卡,请在“数据库工具”选项卡的“关系”组中,单击“关系”。
-
确定要向其导入列表的数据库。
确保你具有将数据添加到该数据库的必要权限。 如果不想将数据存储在任何现有数据库中,请创建一个空白数据库。
-
检查数据库中的表。
导入操作创建一个与 SharePoint 列表同名的表。 如果该名称已在使用中, Access 会向新表名追加“1”,例如,对于 Contacts1,如果 Contacts1 也已在使用中, Access 将创建 Contacts2,依此以类比。
导入列表
-
打开将存储导入数据的 Access 数据库。 如果不想将数据存储在任何现有的数据库中,请创建一个空白数据库。
-
Access 版本不同,导入/链接文本向导的位置会略有不同。 选择与你的 Access 版本相匹配的步骤:
-
如果使用 Microsoft 365 、 Access 2021 或 Access 2019,请在“外部数据”选项卡上的“导入 & 链接”组中,单击“从联机服务 > 新建数据源 > > SharePoint 列表”。
-
如果使用 Access 2016 ,请在“ 外部数据 ”选项卡上的“ 导入 & 链接 ”组中,单击“ 更多 ”按钮下拉选项列表,然后单击“ SharePoint 列表”。
-
-
Access 将打开“获取外部数据 - SharePoint 网站”对话框。
-
在向导中,指定源网站的地址。
-
选择“将源数据导入当前数据库的新表中”,然后单击“下一步”。
-
从向导显示的列表中选择要导入的列表。
注意 可以链接到 SharePoint 库,但只能在 SharePoint 中添加文档。
-
在“要导入的项目”列中,为每个选定列表选择所需的视图。
-
标有“对于查找另一列表中所存储的值的字段,导入其显示值而非 ID”的复选框控制为选定列表中的查阅列导入哪些数据。 请执行下列操作之一:
-
要将显示值作为字段本身的一部分导入,请选中该复选框。 在这种情况下,该字段将不查找其他表中的值。
-
如需目标字段查找其他表中的值,请清除该复选框。 这样做会将显示值行的 ID 复制到目标字段。 ID 是在 Access 中定义查阅字段所必需的。
导入 ID 时,您必须导入当前为查阅列提供值的列表(除非目标数据库已经包含可以充当查阅表的表)。
导入操作在对应字段中放置 ID,但是它不设置使字段像查阅字段那样工作所需的所有属性。 有关如何设置此类字段的查找属性的详细信息,请参阅 创建或删除查阅字段。
-
-
单击“确定”。
Access 导入列表,然后在向导的最后一页上显示操作的状态。 如果打算以后重复导入操作,则将详细信息保存为导入规格。 Access在导入操作过程中不会覆盖数据库中的表,您不能将列表或视图的内容追加到现有表。
有关导入的其他需知内容
-
若要了解如何将导入的详细信息保存为可供稍后使用的规范,请参阅将导入或导出操作的详细信息另存为规范一文。
-
若要了解如何运行已保存的导入规范,请参阅运行保存的导入或导出操作一文。
-
若要了解如何计划在特定时间运行规范,请参阅计划导入或导出操作一文。
-
有关如何更改规范名称,删除规范或更新规范中源文件名的相关信息,请参阅管理数据任务一文。
链接到 SharePoint 列表
链接到 SharePoint 列表时,Access 将创建一个反映源列表的结构和内容的新表,该表通常称为链接表。 与导入不同,链接操作创建的链接只指向该列表,而不是指向该列表的任何特定视图。
在以下两方面链接比导入的功能更强大:
-
添加和更新数据 通过浏览找到 SharePoint 网站,或者通过在 Access 内使用数据表视图或窗体视图,可以对数据进行更改。 在一个位置中进行的更改会在另一位置中反映出来。 如果要进行结构性更改(如删除或更改列),则必须通过在 SharePoint 网站上打开该列表来完成。 使用 Access 时,不能添加、删除或修改链接表中的字段。
-
查阅表格 链接至 SharePoint 列表时,Access 会自动为所有查阅列表创建链接表(除非查阅列表已经链接到数据库)。 如果查阅列表包含查阅其他列表的列,则在链接操作中也包括那些列表,以便每个链接表的查阅列表在数据库中都具有对应的链接表。 Access 还在这些链接表之间创建关系。
链接到 SharePoint 列表的常见情况
从 Access 数据库链接到 SharePoint 列表的原因通常有以下几种:
-
你的部门或工作组使用 Access 进行丰富的报告和查询,并使用 SharePoint 进行团队协作和沟通。 单个工作组创建跟踪各种内容(如联系人和问题)的列表,但是通常必须将该列表数据导入到数据库中以进行聚合和报告。 链接是合适的选择,因为它同时允许 SharePoint 网站用户和数据库用户添加和更新数据以及始终查看和使用最新数据。
-
你是最近才开始使用 SharePoint 的 Access 用户。 您已将几个数据库迁移到工作组 SharePoint 网站,而且这些数据库中的大多数表是链接表。 从现在开始,您将创建 SharePoint 列表(而不是创建本地表),然后将其链接到数据库中的这些列表。
-
您希望继续在 SharePoint 网站上存储这些列表,而且希望使用 Access 内的最新数据运行查询和打印报表。
准备链接到 SharePoint 列表
-
查找具有您要链接到的列表的 SharePoint 网站,并记住该网站的地址。
有效的网站地址以 http:// 或 https:// 开头,后跟服务器名称,并以服务器上特定网站的路径结尾。
-
确定要链接到哪些列表。 可以在单个链接操作中链接到多个列表,但不能链接到调查、讨论或任何列表的特定视图。
-
检查源列表中的列。 下表介绍了在链接到不同元素时要牢记的一些注意事项。
元素
注意事项
列
访问仅链接前 256 列,因为它仅支持表中的 256 个字段。 若要避免此问题,请在 SharePoint 中创建列表视图,并仅添加所需的列,确保列总数不超过 256。 然后使用 ImportSharePointList 宏操作创建指定预期视图 ID 的链接表。
文件夹
SharePoint 列表中的每个文件夹在 Access 表中都显示为记录。 文件夹内的项目也显示为记录,紧邻对应于该文件夹的记录之下。
查阅列
如果源列查阅其他列表中的值,而且相关列表尚未存在于数据库中,则 Access 将自动为相关列表创建链接表。
注意 Access 还会创建对应于 SharePoint 用户信息列表的 UserInfo 表。 SharePoint 使用此列表来查找 SharePoint 列的用户帐户信息,例如电子邮件、图片、用户名,例如 CreatedBy、ModifiedBy 和 Person 或 Group。 此 SharePoint 用户信息列表仅对网站管理员可见。
计算列
计算列中的结果在对应字段中显示,但是在 Access 中您无法查看或修改公式。
附件
列表的附件列显示为“附件”字段。
只读列
SharePoint 列表中的只读列在 Access 中仍是只读的。 此外,在 Access 中您可能无法添加、删除或修改列。
多值列
类型为“选择”或“查阅”的列可以包含多个值。 对于这样的列,链接操作将创建支持多个值的字段。 如果源列的类型为“查阅”,则在链接表中创建多值查阅列。
-
确定您要在其中创建链接表的数据库。 确保您具有将数据添加到该数据库的必要权限。 如果您不想在任何现有的数据库中存储数据,请创建一个新的空白数据库。
-
检查数据库中的表。 链接到 SharePoint 列表时,将创建与源列表同名的表。 如果该名称已在使用中,Access 会在新表名后附加 “1”,例如“联系人1”。 (如果“联系人1”也已经被占用,Access 将创建“联系人2”,以此类推。 )该规则也适用于相关列表。
链接到数据
-
打开目标数据库。
-
Access 版本不同,导入/链接文本向导的位置会略有不同。 选择与你的 Access 版本相匹配的步骤:
-
如果使用 Microsoft 365 、 Access 2021 或 Access 2019,请在“外部数据”选项卡上的“导入 & 链接”组中,单击“从联机服务 > 新建数据源 > > SharePoint 列表”。
-
如果使用 Access 2016 ,请在“ 外部数据 ”选项卡上的“ 导入 & 链接 ”组中,单击“ 更多 ”按钮下拉选项列表,然后单击“ SharePoint 列表”。
-
-
Access 将打开“获取外部数据 - SharePoint 网站”对话框。
-
在向导中,指定源网站的地址。
-
选择“通过创建链接表来链接到数据源”,然后单击“下一步”
向导将显示可用于链接的列表。
-
选择要链接到的列表,然后单击“确定”。
注意: 如果一些列表已链接到当前数据库,则将选中对应于那些列表的复选框。 如果要删除任何链接,清除要删除链接的复选框。
-
Access 将尝试为在该操作过程中选择的列表和每个相关列表创建链接表。 此外,Access 将尝试刷新与在向导中选中的列表相对应的链接表。 Access 还会在表之间创建关系。 与导入操作不同,链接操作维护查阅字段和相关表之间的查阅属性设置。 您不必在表的设计视图中手动设置查阅字段的属性。
-
在数据表视图中检查新的链接表。 确保正确显示了所有字段和记录。
Access 为对应于源列的每个字段选择正确的数据类型。 值得注意的是,每次打开链接表或源列表时,你都会看到其中显示了最新数据。 但是,对列表进行的结构性更改不会自动反映在链接表中。 要通过应用最新的列表结构来更新链接表,请右键单击导航窗格中的表,指向“更多选项”,然后单击“刷新列表”。
注意: Access 永远不会在链接操作过程中覆盖数据库中的表。 此外,也不能将 SharePoint 列表的内容追加到现有表。
将数据移动到 SharePoint
将数据移动到 SharePoint 是有效创建后端数据库的方法,但在这种情况下,数据包含在 SharePoint 列表中。 前端仍然是 Access 数据库,可以采用与拆分数据库类似的方式部署它。 如果可能,“ 将表导出到 SharePoint 向导” 会将数据移动到基于 SharePoint 网站上的列表模板的列表,例如 联系人 列表。 如果表无法与列表模板匹配,该表将成为 SharePoint 网站上的自定义列表。 操作可能需要一些时间,具体取决于数据库大小、对象数量和系统性能。 如果在过程中改变了主意,可以单击“停止”将其取消。
向导在计算机上创建一个数据库的备份副本。 并在 Access 中创建从表格指向列表的链接,以便在使用 Access 时可轻松找到 SharePoint 网站上的数据。 如果出现任何问题,“ 将表导出到 SharePoint 向导” 会报告问题,并将其作为日志表保存在 Access 数据库中,可用于帮助进行故障排除。
提示: 请考虑创建单独的 SharePoint 网站,以将列表保留在独立位置。
使用将表导出到 SharePoint 向导
-
在“数据库工具”选项卡上的“移动数据”组中,单击“SharePoint”。 仅当数据库以 .accdb 文件格式保存时,此选项才可用。
-
按照将 表导出到 SharePoint 向导中的步骤操作,包括指定 SharePoint 网站的位置。
若要取消该过程,请单击“停止”。
-
在该向导的最后一页上,选中“显示详细信息”复选框以查看有关迁移的更多详细信息。
此向导页介绍已链接到列表的表并提供有关数据库的备份位置和 URL 的信息。 如果遇到迁移问题,此向导页还会提供警告,并提供日志表位置,以便您可以从中查看有关问题的更多详细信息。
-
当该向导完成其操作时,单击“完成”。
如果该向导显示警告,应查阅日志表并采取任何必要措施,以确保数据迁移成功。 例如,某些字段可能未进行迁移或可能转换为与 SharePoint 列表兼容的其他数据类型。
注意: Access 还会创建对应于 SharePoint 用户信息列表的 UserInfo 表。 SharePoint 使用此列表来查找 SharePoint 列的用户帐户信息,例如电子邮件、图片、用户名,例如 CreatedBy、ModifiedBy 和 Person 或 Group。 此 SharePoint 用户信息列表仅对网站管理员可见。
可能会遇到的限制
当“ 将表导出到 SharePoint 向导” 完成后,如果 Access 遇到任何数据问题,则会看到一条消息。 Access 会创建一个名为“迁移到 SharePoint 网站时出现的问题”的表,并将该表添加到数据库。 “迁移到 SharePoint 网站时出现的问题”表存储在数据库中,但不会发布为 SharePoint 网站上的列表。
下表列举了数据迁移方式的限制,通常是因为 Access 和 SharePoint 具有的功能不一致,有时是因为二者具有的数据类型不一致。 例如,如果 Access 表支持 引用完整性 ,则会在 SharePoint 网站的列表中强制实施。 下表中的信息可以帮助决定是否迁移数据,如果正在查看“迁移到 SharePoint 网站时出现的问题”表中报告的任何问题,此信息也很有帮助。
数据类型或问题 |
问题 |
结果 |
---|---|---|
COM 对象数据类型 |
SharePoint 网站不支持 COM 对象数据类型。 |
不迁移字段。 |
Binary 数据类型 |
SharePoint 网站不支持 Binary 数据类型。 |
不迁移字段。 |
日期 |
SharePoint 网站不支持早于 1900 年的日期。 |
不迁移含有早于 1900 年的日期的数据。 |
文本字段中存在换行符 |
SharePoint 网站不支持在单行文本字段中使用换行符。 |
字段转换为多行文本字段或备注字段。 |
Decimal 数据类型 |
SharePoint 网站不支持 Decimal 数据类型。 |
改为使用数字字段或双整型字段。 |
复制 ID 数据类型 |
SharePoint 网站不支持复制 ID 数据类型。 |
根据数据类型,改为使用单行文本数据类型。 |
SharePoint 列表中不支持的默认值 |
SharePoint 网站接受静态默认值,例如文本、数字和标准日期。 不迁移 Access 中动态的默认值。 |
不迁移某些默认值属性。 |
唯一索引字段 |
SharePoint 网站为其在列表中的 ID 列使用一个唯一索引字段。 |
不迁移其他唯一索引字段或字段集。 |
自动进行枚举的字段(ID 字段除外) |
SharePoint 网站只支持对列表中 ID 列使用的字段进行自动编号。 |
除 ID 列以外的列不应用自动编号。 |
无法在其中创建查找的关系 |
SharePoint 网站中不支持某些关系,例如当主键与 ID 列不相关或不是整数时。 |
不迁移该关系。 |
在 Access 和 SharePoint 之间链接数据的优点
创建链接的 SharePoint 列表后,用户可以在 SharePoint 网站或 Access 中的链接表中使用列表。 使用 Access 中的表格或窗体或者在 SharePoint 网站上编辑列表,即可输入数据。 以下指南和提示可帮助你利用 Access 和 SharePoint 之间的链接列表,并利用两者的组合。
问题跟踪 Access 具有与 SharePoint 网站上的问题跟踪列表直接交互的问题跟踪模板。 架构相同,Access 解决方案可用作针对 SharePoint 网站数据的前端(例如,使用表单和查询)。
从回收站检索数据 您可以使用 SharePoint 网站上的回收站轻松查看已删除的记录并恢复意外删除的信息。
快速启动 若要查看 SharePoint 网站上的列表,请单击“快速启动”上的“ 查看所有网站内容 ”。 您可能需要在 Web 浏览器中刷新该页面。 若要使列表显示在 SharePoint 网站上的“快速启动”上,可以更改 SharePoint 网站上的列表设置。 有关详细信息,请参阅 自定义 SharePoint 网站上的导航。
跟踪更改历史记录 在 Access 中,可以将长文本字段的 Append 属性设置为“是”,以便 Access 保留对该字段的更改历史记录。 同样,在 SharePoint 中,可以查看列的版本历史记录。 例如,可以恢复列的以前版本或跟踪发生更改的时间。 如果链接到启用了版本历史记录的 SharePoint 列表,Access 会创建一个长文本字段,并将 Append 属性设置为“是”。 如果移动的 Access 表具有长文本字段,其 Append 属性设置为“是”,则会创建包含版本历史记录的 SharePoint 列表。
总之,Access 可以查看 SharePoint 中所做的历史更改,SharePoint 可以查看在 Access 中所做的历史更改。 有关详细信息,请参阅 创建或删除长文本字段 和 查看列表或库中项或文件的版本历史记录。
脱机工作 可以使用 Access 脱机处理链接到 SharePoint 列表的数据。 如果需要在 SharePoint 不可用时继续工作,这将很有帮助。 SharePoint 可用后,可以同步更改并轻松解决任何冲突。 有关详细信息,请参阅 脱机处理链接到 SharePoint 列表的表。
订阅警报 可以订阅警报,以便知道何时对列表项进行更改。 可以从电子邮件或短信接收警报, (短信) 。 有关详细信息,请参阅 创建警报以便在 SharePoint 中的文件或文件夹发生更改时收到通知。
管理 SharePoint 列表权限 最好检查链接列表中的 SharePoint 权限,以确保不会无意中授予对机密或私人数据的访问权限。 在 SharePoint 中,您可以分配不同级别的权限,并且可以有选择地允许或拒绝对某些用户的访问权限。 如果需要限制对数据库中几个敏感项目的访问权限,甚至可以设置 SharePoint 网站上的特定列表项的权限。 有关详细信息,请参阅 自定义 SharePoint 列表或库的权限。
批量编辑 有时,你需要对列表数据进行大量更改,例如赶上状态字段、添加大量注释以及使数据保持最新。 这称为批量编辑,使用 Access 进行这些更改通常更高效。
报表分发 如果要使用 Access 从链接列表数据创建报表,可以通过将其导出到 SharePoint 库,将这些报表广泛分发为 PDF 文件。 此库可以有效地充当报表中心,因为 PDF 文件在 Adobe Acrobat 阅读器中打开,便于阅读、分页和搜索。 最好对报表进行时间戳,以便用户了解何时捕获数据。
使用 SharePoint 创建 Access 表 可以基于 SharePoint 列表创建 Access 表。 你可能会发现,这是一种方便快捷的方式,可用于创建与“联系人”、“任务”、“议题”和“事件”列表类似的用途和字段的表。 Access 还将创建相应的 UserInfo 表。 有关详细信息,请参阅 创建表和添加字段中的“使用 SharePoint 网站创建表”部分。
Microsoft Power Platform 可通过多种方式在 Microsoft Power Platform 中使用 Access 中链接的 SharePoint 列表来在多个设备上显示信息:
-
在 SharePoint Online 中设置 Microsoft Power Automate,例如批准请求或推送通知。 有关详细信息,请参阅 在 SharePoint Online 中为列表或库创建流。
-
使用 Microsoft PowerApps 自定义列表窗体并生成业务应用,例如业务线门户和商业智能仪表板。 有关详细信息,请参阅 在 SharePoint Online 中为列表创建 PowerApp。
移动应用 您可以使用移动设备处理链接到 SharePoint 列表的 Access 数据。 可以查看列表项并执行轻型编辑。 有关详细信息,请参阅 适用于 Android 的 SharePoint 移动应用 和 适用于 iOS 的 SharePoint 移动应用。