访问:将CSV数据附加到表时发生截断错误?

时间:2012-04-28 18:53:04

标签: ms-access csv

我在尝试将数据附加到现有表时遇到了困难。

我有大约100个CSV文件,我想从中创建一个表;所有表都有不同的列结构,但这不是一个问题,因为相关的字段名称在每个文件的第一行。

首先,我从其中一个文件创建一个新表,表明我的字段名称在第一行。我将具有超过256个字符的特定字段更改为备注字段并导入数据。

然后我将表中缺少的字段添加到表中。

现在,当我尝试追加更多数据时,我再次选择我的字段名称在第一行,但现在我收到了发往备忘录字段的数据的截断错误。

为什么会出现此错误?有解决方法吗?

修改

以下是我尝试解决问题的最新消息:

  1. 除非具有完全相同的结构,否则导入和附加表将无效。此外,您无法创建包含所有字段和属性的主表,然后将所有表附加到主表。您仍然会收到截断错误。

  2. 我接受了CodeSlave的建议并尝试上传表格,设置我需要成为备注字段的字段,然后附加表格。这有效,但同样,备注字段在每个数据文件中的顺序不一定相同,我有1200个数据文件可以导入到24个表中。按表导入数据表不是这么多表的选项。

3 个答案:

答案 0 :(得分:4)

我希望您遇到的是源文件(CSV)和目标表(MS Access)之间的不匹配。

MS Access会在您进行导入时对CSV文件中的字段类型进行一些猜测。然而,它并不完美。也许它看到一个字符串作为备忘录或浮动作为真实。没有看到数据我就不可能知道。

我通常会做的是:

  1. 将第二张CSV导入其自己的(临时)表格
  2. 清理第二张表
  3. 然后使用SQL查询将第二个表中的记录附加到第一个表。
  4. 删除第二张表
  5. (对于您要加载的每个CSV文件重复此操作。)

    如果我提前知道每个CSV文件的结构已经相同,我倾向于将它们全部连接成一个,只需要进行一次导入/清理。

答案 1 :(得分:1)

有一个非常类似的问题 - 尝试将包含大文本字段(> 255个字符)的CSV文件导入现有表格。将字段声明为备忘录但仍被截断。

解决方案:启动导入以链接表格,然后单击“高级”按钮。创建一个链接规范,将相关字段定义为备注字段,然后保存链接规范。然后取消导入。这次执行另一次导入所需的导入到现有表的导入。再次单击“高级”按钮,然后选择刚刚创建的链接规范。单击“完成”,应正确导入数据而不截断。

答案 2 :(得分:0)

我遇到了这个问题,但发现它总是发生在第一行。因此,通过在csv中插入一个空白行可以完美导入,然后您需要删除Access表中的空白行。

干杯, Grae Hunter

注意:我正在使用Office 2010