使用DoCmd.TransferSpreadsheet acImport方法将错误从Excel导入到Access

时间:2013-04-11 14:29:57

标签: ms-access ms-access-2007 access-vba ms-access-2010

将数据从Excel导入Access时,我遇到一些导入错误。

我正在使用DoCmd.TransferSpreadsheet acImport, ...方法进行导入。

失败的数据列包含仅限数字条目和字符串的混合。这是无法导入的字符串条目。

我可以对Excel电子表格的这一栏中的数据做些什么,以确保它完全覆盖Access?

2 个答案:

答案 0 :(得分:1)

虽然上一个问题中的Excel.Application代码位于“计数行”中,但它也可以检查第一个数据行中该列的单元格。如果是数字,则代码可以在开头粘贴撇号(')以强制它成为标签,然后保存Excel文件。然后,当Access'TransferSpreadsheet方法查看第一行时,它将决定该列是文本,而不是数字。

答案 1 :(得分:0)

我找到了接近解决方法的东西:

  1. 在Excel中对您的违规列进行排序,以便您的数字显示为最顶层组,而您的字母数字显示在底部。

  2. 突出显示现在分组在

  3. 列中的所有数字
  4. 转到数据>文字到列

  5. 向导第1页:选择“分隔”

  6. 向导第2页:勾选“标签”

  7. 向导第3页:选择“文本”并完成

  8. 数字将作为带有前导撇号的文本存储,并且应在Access

    中导入

    Source

    如果有人想进行切入,可能有更好的方法。