Access 2016 Import Wizard导入Large Number列出现转换错误如何解决
Access 2016 导入向导原生支持 Large Number(64位大整数)类型的数值导入,不存在功能不支持的问题,你遇到的转换错误是导入向导默认的字段类型识别逻辑导致的,按照以下步骤操作即可正常导入:
前置配置校验
- 确认功能开关已生效:打开Access 2016,依次点击
文件→选项→当前数据库,下拉找到「数据表设计」分组,勾选支持链接/导入表的 BigInt 数据类型,点击确定后必须重启Access才能生效,漏重启会导致配置不生效。
全新导入为新表操作步骤
- 点击顶部菜单栏
外部数据选项卡,在「导入并链接」组选择文本文件,选中目标.csv文件,选择「将源数据导入当前数据库的新表中」,点击确定进入导入向导。 - 第一页选择分隔符格式,若.csv首行是表头则勾选第一行包含列标题,点击下一步。
- 分隔符选择「逗号」,此时不要直接点击下一步:在「数据预览」区域点击订单号对应的列,然后在向导上方的「字段选项」区块,将默认的「数据类型」从整数手动修改为大数(Long Integer 64位),如果不需要对订单号做数值计算,也可以选择短文本类型避免溢出问题。
- 后续步骤正常设置主键、输入导入后的表名即可完成导入,不会再出现数据转换错误。
追加到现有表的注意事项
如果是将.csv内容追加到已经建好、且订单号列已设置为 Large Number 类型的现有表,需要额外注意:
- 进入字段映射页面时,确认.csv的订单号列和目标表的Large Number列映射关系正确,避免错列
- 提前清理.csv中订单号列的空值、特殊非数字字符,避免转换失败
你此前将大数字放在首行仍然报错的原因是:Access导入向导默认对数字类型的识别阈值为32位整数(最大值为2147483647,约21亿),超过该阈值的数值哪怕出现在首行,默认也会识别为32位整数,超出范围就会触发转换错误,必须手动指定为64位大数类型才能正常识别。
内容的提问来源于stack exchange,提问作者CrombopulousSqueeze
相关产品推荐
相关产品推荐

