ms-access - Access : Truncation error when appendi

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

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

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

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

现在,当我尝试附加更多数据时,我再次选择我的字段名称位于第一行,但现在我收到了针对备注字段的数据的截断错误。

为什么会出现这个错误?有解决办法吗?

编辑

这是关于我尝试解决问题的更新:

  1. 导入和附加表将不起作用,除非它们具有完全相同的结构。此外,您不能创建一个设置了所有字段和属性的主表,然后将所有表附加到主表。您仍然会收到截断错误。

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

最佳答案

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

在您进行导入时,MS Access 会猜测 CSV 文件中的字段类型。然而,它并不完美。也许它将字符串视为备忘录或将 float 视为真实的。不看数据我是不可能知道的。

我通常会做的是:

  1. 将第二个 CSV 导入到它自己的(临时)表中
  2. 清理第二张表
  3. 然后使用 SQL 查询将这些记录从第二个表附加到第一个表。
  4. 删除第二张表

(对您正在加载的每个 CSV 文件重复此操作)。

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

关于ms-access - Access : Truncation error when appending CSV data to tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10366539/

相关文章:

sql - Oracle CONNECT BY 分层查询中对父列的引用

r - 在每行中查找最小正值(不包括 0)

unix - 在 Solaris 上如何找到谁或哪个进程向我的进程发送了信号

perl - Perl 中的非本地返回(从调用者返回)

visual-studio-2010 - 如何断开 VisualSVN 与我的解决方案的连接?

maven - 你如何使用 Maven 设置 jetty-start?

ms-access - 左外加入 Access ?

php - 是否可以使用 PHP 添加事件监听器?

r - 在 R 中从循环或 lapply 按名称调用列表

perl - 在 Perl 中复制二维数组