【问题标题】:Field/Record Loss During MS-Access PasteMS-Access 粘贴期间的字段/记录丢失
【发布时间】:2021-07-28 03:37:21
【问题描述】:

好的,这应该很简单,所以令人困惑的是它不是。我正在从 Excel 中复制一个非常基本的数据并将其粘贴到 Access 数据库中。那么为什么价值甚至整个记录都会消失呢?

详细信息:我在 Windows 7 中使用 Access 2016,将分包实验室提供的 Excel 工作簿中的数据导入我们的数据库。实验室并不总是使用完全相同的格式来报告他们的结果,因此直接从 Excel 导入变得不可靠。我很想使用追加查询,但如果数据是它应该在的右侧的一列,它们的效果就会很差。

相反,我有一个没有主键和五个字段的凌乱的小临时表,所有短文本和一些 VBA 来验证、整理和正确导入它。从 Excel 复制,粘贴附加到 Access 和... WTF?!?使用空值粘贴的字段。有时记录会消失。没有粘贴错误表,没有错误消息。只是数据没了!

缺失数据有一定的规律。我有 5 个字段,前两个总是文本,接下来的两个总是数字,最后一个字段有时是数字,有时是文本。不出所料,问题出在最后一个字段。如果第 5 个字段中的所有数据都是数字,那么一切正常。同样,如果所有数据 n 字段 5 是文本。 当某些记录中的数字数据和其他记录中的文本混合在一起时,数据会消失,并且是作为空值粘贴的文本。如果第一条记录包含字段 5 中的文本,则它会完全丢失。

为什么?!?这应该是最容易的部分!具有讽刺意味的是,VBA 工作正常。

我尝试过的修复:

  • 将 Excel 工作簿转换为 CSV 以避免隐藏格式或在 Excel 端出现类似的无用问题。

  • 构建一个新的数据库以避免继承的 gremlins。仅由五个短文本字段的单个表组成的数据库会遇到相同的问题。

  • 去除潜在的麻烦字符。虽然不是特殊或保留字符,但“

  • 将字段更改为长文本、使其成为必填项或设置主键。文本值仍然作为空值粘贴,如果设置为“必需”,则将整个记录分流到粘贴错误表。

  • 一次导入一个记录。这实际上确实有效,因为数据可以正确粘贴,但在处理 1000 多条记录时不太理想。它确实表明问题不在于数据库的结构。

任何帮助将不胜感激。

【问题讨论】:

标签: ms-access copy-paste data-loss


【解决方案1】:

终于找到了the answer。这是 Excel、Access 或剪贴板中某处的一个鲜为人知的错误,似乎至少从 2007 年就已经存在。字段中同时包含文本和数字数据的记录在粘贴附加到文本字段时将丢失文本数据。

1, 2, 3, 4
5, 6, 7, apple
8, 9, 10, 11
12, 13, 14, berry
15, 16, 17, 18

将 Excel 中的追加内容粘贴到 Access 中

1, 2, 3, 4
5, 6, 7
8, 9, 10, 11
12, 13, 14
15, 16, 17, 18

“解决方案”是在粘贴追加之前关闭 Excel。 这种黑暗的仪式会导致数据正确追加。我不知道为什么会这样,但已经用我自己的数据库确认了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2014-09-09
    • 1970-01-01
    相关资源
    最近更新 更多