使用大数数据类型

大数数据类型可存储非货币的数值,并与 ODBC 中的 SQL_BIGINT 数据类型兼容。请使用这种数据类型以高效计算大数。

大数数据类型的范围

可将大数作为字段添加到 Access 表中。还可通过相应的数据类型(如 SQL Server bigint 数据类型)链接到数据库或从数据库导入。若要添加大数数据类型,需要 Access 2016(16.0.7812 或更高版本)。

本文内容

将大数字段添加到表

通过 SQL_BIGINT 数据类型支持链接到外部数据库或从外部数据库导入

了解大数数据类型支持的影响

后向兼容性注意事项

将大数字段添加到表

大数数据类型(八个字节)的计算范围比数字数据类型(四个字节)大得多。例如,数字数据类型的范围为 -2^31 到 2^31-1,而大数数据类型的范围为 -2^63 到 2^63-1。有关详细信息,请参阅数据类型和字段属性简介

将大数字段添加到表中并保存表设计后,就有效地启用了大数数据类型,数据库将不再与之前的 Access 版本兼容。保存表设计之前,会收到一则警告消息通知,以防你需要保持数据库兼容。有关详细信息,请参阅后向兼容性注意事项

返回页首

通过 SQL_BIGINT 数据类型支持链接到外部数据库或从外部数据库导入

还可以使用大数数据类型高效处理链接数据或导入数据,如使用 bigint 数据类型的 SQL Server 数据库。在启用大数数据类型支持之前,Access 已将等效数据类型转换为短文本数据类型。

通过对链接和导入操作启用大数数据类型,可以使用支持 SQL_BIGINT 数据类型(包括基于该数据类型的主键)的 ODBC 驱动程序链接到外部数据源和从外部数据源导入。例如,可使用与 Windows 一起安装的 ODBC 驱动程序连接到这些外部数据源,或者使用大数字段连接到 Access 2016 文件格式 (.accdb) 的其他数据库。

启用大数数据类型

默认情况下,未对链接和导入操作启用大数数据类型。但是,可以设置“支持链接表/导入表的 Bigint 数据类型”访问选项,显式启用支持。尝试设置此选项时,会收到一则警告消息通知,以防你需要保持数据库兼容。设置选项后,该数据库不再后向兼容早期的 Access 版本。

有关详细信息,请参阅设置当前数据库的用户选项后向兼容性注意事项

现有表不会自动转换

启用大数数据类型支持不会自动更改现有表的数据类型。你可能以前使用支持 SQL_BIGINT 数据类型(如 SQL Server bigint 数据类型)的 ODBC 驱动程序链接过数据源或从数据源导入过。在这两种情况下,Access 会将字段转换为短文本数据类型。若要将数据类型更改为大数,请执行以下操作:

链接表   启用 BigInt 支持选项,然后使用“链接表管理器”刷新链接表(选择“外部数据”>“链接表管理器”,选择相关的表,然后选择“确定”)。这会将列从短文本数据类型转换为大数数据类型。

导入表   将包含短文本数据类型的字段更改为大数数据类型(打开“设计”视图中的表,选择“数据类型”列中的字段,然后选择数据类型列表中的“大数”,再保存所做的更改)。

返回页首

了解大数数据类型支持的影响

在开始使用大数数据类型之前,请务必了解它可能会对 Access 数据库造成的影响。

将 Access 2007-2016 文件格式 (.accdb) 标记为 Access 2016

简而言之,可以通过两种方式启用大数数据类型支持:将大数数据类型字段添加到本地表中,以及设置“支持链接表/导入表的 Bigint 数据类型”访问选项。无论用哪种方式启用大数数据类型支持,都是对数据库进行无法撤销的永久性更改。在两种情况下,Access 都会在更改之前显示一条警告消息。

在后台,大数数据类型会将 Access 2007-2016 文件格式 (.accdb) 标记为 Access 2016。标记数据库文件格式表示对文件格式进行特定更改,提高数据库版本,但在别的方面文件格式保持不变。尝试在 Access 2013 或 Access 2016 中打开该数据库时,Access 会以下面的方式读取标记:

  • 如果数据库版本低于 16.7,则未启用大数数据类型,可以打开数据库。

  • 如果数据库版本为 16.7 或更高,则启用大数数据类型,仅能在 Access 2016 中打开数据库。

总结各种产品版本的大数数据类型支持情况

下表汇总了使用不同产品版本的大数数据类型时可能遇到的情况。请注意,将大数数据类型添加到表中并保存设计,或者设置启用链接和导入的选项后,会启用支持。

提示: 若要详细了解如何查看产品版本号,请参阅我使用的是哪个版本的 Office?

大数数据类型的状态

产品版本:Access 2013 和版本号低于 16.0.7812 的 Access 2016

产品版本:版本号等于大于 16.0.7812 的 Access 2016

已启用

不能打开数据库,并且会收到一条带帮助链接的错误消息。

若要解决这种情况,请参阅“删除 Access 2007-2016 文件格式数据库中的大数数据类型支持”

可以打开数据库。

使用大数数据类型定义的本地表字段被视为大数。

可以刷新被链接的表。如果列以前被视为短文本数据类型,则会自动将其转换为大数数据类型。

未启用

可以打开数据库。

可以刷新被链接的表。如果链接表中的列基于 BigInt 数据类型,并且已转换为短文本数据类型,则这些列保持不变。

数据库文件版本保持不变。

可以打开数据库。

可以刷新被链接的表。如果链接表中的列基于 BigInt 数据类型,并且已转换为短文本数据类型,则这些列保持不变。

数据库文件版本保持不变。

注意: Access 2007-2016 文件格式之前的 Access 文件格式 (.mdb) 在任何情况下都不支持大数数据类型。

确定 Access 数据库是否启用了大数数据类型

你可能拥有一个以前的 Access 数据库,并且想要确定该数据库是否启用了大数数据类型。可执行下列操作:

检查标题栏    如果数据库已标记,标题栏会显示 <数据库名称> (Access 2016)。否则,标题栏会显示 < 数据库名称 > (Access 2007-2016)

以编程的方式检查 查看当前数据库版本号。按 CTRL + G 以显示 Visual Basic 即时窗口中,输入 ?CurrentDb().Version,然后按 Enter。如果返回值小于 16.7,则未启用支持。如果返回值为 16.7 或更大,则已启用支持。

返回页首

后向兼容性注意事项

如果想要保持对不同文件格式的后向兼容性,请务必了解数据库环境。有关所有 Access 文件格式的详细信息,请参阅应使用哪种 Access 文件格式?

可以考虑以下三种选择。

保留当前的共享数据库文件格式环境

若要对 Access 2007-2016 文件格式 (.accdb) 和之前文件格式 (.mdb) 的数据库保留共享的数据库文件格式环境,请执行以下操作:

  • 请勿将大数数据类型作为列添加到任何表。

  • 请勿对链接和导入操作启用大数数据类型。有关详细信息,请参阅设置当前数据库的用户选项

将大数数据类型支持添加到 Access 2007-2016 文件格式的数据库

若要将大数数据类型支持添加到 Access 2007-2016 文件格式 (.accdb) 的数据库,请执行以下操作:

  1. 在 Access 2016(16.0.7812 或更高版本)中打开数据库。

  2. 对链接和导入操作启用大数数据类型。有关详细信息,请参阅设置数据在数据库中显示和存储的方式

  3. 使用“链接表管理器”刷新链接的表(选择“外部数据”>“链接表管理器”,选择相关的表,然后选择“确定”)。

    或者

    向表添加大数数据类型的字段并保存表设计。

进而,短文本数据类型的字段将转换为大数数据类型。

删除 Access 2016 文件格式的数据库中的大数数据类型支持

不能在 Access 2016 之前的 Access 版本中打开 Access 2016 文件格式的数据库。要解决此问题,请执行下列操作:

  1. 创建 2007-2016 文件格式的新数据库,确保未对链接操作和导入操作启用大数数据类型支持。有关详细信息,请参阅设置当前数据库的用户选项

  2. 在新数据库中,从原始数据库导入所需的对象。

  3. 在新数据库中,链接到原始数据库中的表。

最后,具有大数数据类型的字段会转换为短文本数据类型,新数据库后向兼容所有 Access 2007-2016 文件格式 (.accdb)。

返回页首

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

此信息是否有帮助?

谢谢您的反馈!

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

×