Access 2013 中的类型转换失败

Posted

技术标签:

【中文标题】Access 2013 中的类型转换失败【英文标题】:Type conversion failure in Access 2013 【发布时间】:2015-06-05 07:08:23 【问题描述】:

将文本文件 (csv) 中的数据导入 MS Access 时,我收到 1 个字段的错误“类型转换失败”。该字段包含日期格式为“yyyy-mm-dd hh:nn:ss”的数据,Access 拒绝识别它并放置#Num!或者只是空白数据。 csv 文件很大,有 8m 行,无法在 Excel 中打开以编辑日期格式。没有遇到任何其他领域的问题。无论如何要避免这个错误?

【问题讨论】:

您可以将该列作为文本导入,这样您就可以绕过 Access 的日期验证器,尽管您会失去日期不会轻易用作日期,因为它现在将被视为文本。 我需要使用日期作为日期,因此问题 【参考方案1】:

在导入的字段规范步骤中使用 Advanced... 按钮并尝试以下设置:

我没有上图中确切的日期格式,只是为了说明如何导入该特定日期。

日期顺序应为YMD,因为在您的日期中,首先是年份,然后是月份和日期。

您的 csv 的日期分隔符将是破折号 -,而时间分隔符应该是默认冒号 :。确保选中 4 digit ye​​ars 复选框,并且我还将选中 Leading Zeros in Dates 复选框,因为您的月份和日期分别采用 mm 和 dd 格式(即,如果它是单个数字,它们将以 0 开头)。

如果您的 csv 现在有问题的日期,那么这是另一个不容易解决的问题。您可能需要在导入之前从 csv 手动更正日期,或者将日期作为文本导入,然后创建一个新列来将文本日期操作为日期字段(并在那里修复任何有问题的日期)。

【讨论】:

做到了。我已经完成了所有这些,但忽略了 YMD 格式。它现在完美运行:)【参考方案2】:

日期格式没有问题,但有些记录可能为空或有无效条目。

或者您在导入时错过了为日期字段指定分隔符和格式。

如果仍然没有成功,请链接文件并为字段指定文本。然后创建一个使用链接文件作为源的选择查询,并使用 CDate 将文本日期转换为真实日期值。

完成后,将查询更改为追加或创建表查询以导入数据。

【讨论】:

以上是关于Access 2013 中的类型转换失败的主要内容,如果未能解决你的问题,请参考以下文章

Access 2013 导入类型转换错误处理空白

Access 中的自定义函数返回类型转换错误

在 Access 中将列类型转换为长文本

“时间”字段上的 Access 2016 类型转换错误

将 varchar 值“xxx”转换为数据类型 int 时,函数错误中的光标转换失败

ACCESS中类型操作(限制转换)