当我将 Excel 工作表导入 Access 时,它会根据前几行的内容自动为每一列分配一种数据类型,而不管 Access 表字段的类型是什么。
在我的例子中,我有一个使用 TransferSpreadsheet 命令导入的工作表,但导入数据时,其中一列导入失败,并显示“类型转换失败”。该字段在 Excel 中的格式为“常规”,在 Access 2016 中的格式为“短文本”。如果我将 Excel 中的所有数据格式化为文本,则导入成功。
前几个条目是数字,因此 Excel 似乎假定整个列数据类型是数字,并且任何非数字条目都会生成带有类型转换失败条目的导入错误表。
我的问题是:有没有办法防止 Excel 自动分配字段数据类型并在导入 Access 时导致数据丢失?还是我必须手动更改 Excel 中的数据以防止发生这种情况?
答案1
您有两种选择来处理该问题:
选项1:
- 在将工作表导入 Access 之前,选择整个数据库(Excel 数据范围)并设置单元格格式类型文本。
然后,如果你导入,你会发现所有列都只有一种数据类型文本。
选项 2:
在 Access 中创建一个表,然后使用选项导入工作表将记录副本附加到表。
选择 Access 表,完成好的。
Access 将跳过字段类型选择。
答案2
如果您能够对要导入的文件进行排序,并按降序排列,则它会将带有文本的值放在文件顶部。数据类型不会被错误确定,并且应该会成功。