从 Access 报告到 Excel 电子表格的某些字段会损坏

Posted

技术标签:

【中文标题】从 Access 报告到 Excel 电子表格的某些字段会损坏【英文标题】:certain fields get corrupted going from an Access report to an Excel spreadsheet 【发布时间】:2013-04-15 14:01:39 【问题描述】:

我无法理解这一点。我正在使用 Access 2003。

当我右键单击一个访问报告,然后单击“发送...”时出现问题,它只有一个“邮件收件人”选项。然后我点击 Excel。将打开一个包含外发电子邮件的 Outlook 窗口,其中包含一个 Excel 附件。有一列带有项目 ID。有些会损坏,而有些则不会。似乎它们需要以数字 20 开头才能损坏。其他一切正常。

例如,以下item id是可以的:

100657  
100657-17  
216116-115  
221007-001

以下内容已损坏(损坏的版本如下):

202103-001 becomes 1313049  
205103-001 becomes 2408777

有人知道为什么会发生这种情况吗?

【问题讨论】:

将标签“访问”添加到您的问题中,以将其提供给更好的受众。 我最初尝试将 Access 添加为标签,但它告诉我我的声誉太低而无法创建标签。访问未出现在选项列表中。我又看了一遍,看起来它使用了 ms-access。谢谢。 @JamesJenkins 直到最近还存在一个 access 标签,但它似乎已被删除。我的猜测是它太模棱两可了,没有任何实际价值。 ms-access 标签是这类问题最吸引眼球的标签。 【参考方案1】:

检查源的格式,有可能 20 年代已损坏为日期甲酸盐。如果 access 使用的数据的原始来源是 Excel,则这种情况尤其可能发生。您可能希望将格式设置为文本,尤其是在您使用数字来跟踪 ID (如股票编号)时。

还要检查字段的 Access 中使用了什么格式。当 Access 字段设置为文本时,Excel 不太可能随意使用您的数据。如果您在解决格式后仍然遇到问题。在您的问题中发布有关格式的更多详细信息。

【讨论】:

来源是Access表,字段定义为Text。原始来源是一个定义为 nvarchar(100) 的 SQL Server 表,但我怀疑这有什么意义。报告似乎没有任何属性来指示文本。 我仔细查看了日期转换的选项; 1313049 是 1/1/5495 的 Excel Julian,而 2408777 是 1/1/8495 的 excel Julian,所以一步似乎不太可能。如果 Excel 在导入 202103 时进行数学运算 - 001 将是 202102。如果您转到 word 或 CSV,在 Send 之后会得到相同的结果吗? 我刚刚做了一些简单的数学运算,发现了一些有趣的东西。 2408777 - 1313049 = 1095728。2051 - 2021 = 30 * 365.25 = 10957.5。巧合?所以我认为你对约会的事情是对的。一旦我让供应商为我提供自定义此报告所需的所有对象,我将尝试在有问题的字段前加上一个空格,如果这不起作用,我将尝试使用控制字符。

以上是关于从 Access 报告到 Excel 电子表格的某些字段会损坏的主要内容,如果未能解决你的问题,请参考以下文章

VBA Excel - 从 MS Access 将列名保存到电子表格

将每月数据从 Excel 上传到 Access

从 MS Access 表单中的动态列表框创建新的 Excel 电子表格

如何将excel电子表格传输到access数据库

将 Access 数据库查询复制到 Excel 电子表格中

如何使用 Excel 电子表格中的数据在 Access 中自动填充表单