使用大数数据类型

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

大数数据类型可存储非货币的数值,并与 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)。

返回页首

选择 64 位或 32 位版本的 Office