大数数据类型可存储非货币的数值,并与 ODBC 中的 SQL_BIGINT 数据类型兼容。 请使用这种数据类型以高效计算大数。
可将大数作为字段添加到 Access 表中。 还可通过相应的数据类型(如 SQL Server bigint 数据类型)链接到数据库或从数据库导入。 若要添加大数数据类型,需要 Access 2016(16.0.7812 或更高版本)。
本文内容
将大数字段添加到表
大数数据类型(八个字节)的计算范围比数字数据类型(四个字节)大得多。 例如,数字数据类型的范围为 -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) 的数据库,请执行以下操作:
-
在 Access 2016(16.0.7812 或更高版本)中打开数据库。
-
对链接和导入操作启用大数数据类型。 有关详细信息,请参阅设置数据在数据库中显示和存储的方式。
-
使用“链接表管理器”刷新链接的表(选择“外部数据”>“链接表管理器”,选择相关的表,然后选择“确定”)。
或者
向表添加大数数据类型的字段并保存表设计。
进而,短文本数据类型的字段将转换为大数数据类型。
删除 Access 2016 文件格式的数据库中的大数数据类型支持
不能在 Access 2016 之前的 Access 版本中打开 Access 2016 文件格式的数据库。 要解决此问题,请执行下列操作:
-
创建 2007-2016 文件格式的新数据库,确保未对链接操作和导入操作启用大数数据类型支持。 有关详细信息,请参阅设置当前数据库的用户选项。
-
在新数据库中,从原始数据库导入所需的对象。
-
在新数据库中,链接到原始数据库中的表。
最后,具有大数数据类型的字段会转换为短文本数据类型,新数据库后向兼容所有 Access 2007-2016 文件格式 (.accdb)。