Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA访问传输文本导入错误_Vba_Ms Access - Fatal编程技术网

VBA访问传输文本导入错误

VBA访问传输文本导入错误,vba,ms-access,Vba,Ms Access,我想将电子表格导入access数据库,列上的年龄为1-89岁,另一个为90岁以上,这反过来会导致导入错误。使用DoCmd.TransferText,是否可以导入所有其他数字列中包含90+的内容 如果将数据导入到不存在的表中,Access将为您创建一个表。它根据导入的前几行自动确定每列的数据类型。如果源数据在一列中包含混合的数据类型,则可能会遇到此错误 有两种解决方案: 为您的数据构建正确数据类型的导入表(即,指定年龄列为短文本)。然后导入到预定义的导入表中 确保CSV或Excel文件将每个年龄存

我想将电子表格导入access数据库,列上的年龄为1-89岁,另一个为90岁以上,这反过来会导致导入错误。使用DoCmd.TransferText,是否可以导入所有其他数字列中包含90+的内容

如果将数据导入到不存在的表中,Access将为您创建一个表。它根据导入的前几行自动确定每列的数据类型。如果源数据在一列中包含混合的数据类型,则可能会遇到此错误

有两种解决方案:

  • 为您的数据构建正确数据类型的导入表(即,指定年龄列为短文本)。然后导入到预定义的导入表中
  • 确保CSV或Excel文件将每个年龄存储为一个字符串,即
    “20”
    而不是
    20
    (在Excel中,将单元格格式化为文本,使其左对齐或以撇号
    '20
    开始单元格内容,或使用公式化符号
    =“20”

  • 您可以做这两件事中的任何一件,但如果可能,最好同时做这两件事。

    90+是一个单独的列,还是在同一列中是一个实际值?您得到的确切错误是什么?你也说电子表格,所以你想使用Docmd.TransferSpreadsheet,除非你写TransferText的时候只是打字错误。还要确保[HasFieldNames]参数的设置与编号为1-89的同一列中的参数一致。它创建了两个表,一个表中的数据为90+单元格空白,另一个表中的每一行都有一个导入错误。90+本身不应该引起问题,它应该被视为一个整数。您没有提供足够的信息:在access中包括包含列/值的电子表格快照以及目标表的结构。此外,docm.transfertext不会导入excel,您需要docmd.transferspreadsheet