我将数据从CSV文件导入Access表,并将它们与从第二个CSV文件导入第二个Access表的数据进行比较。
这一切都在本月下半月完美运作。然而,在这个月的第一部分,我得到了不同的结果。在本月13日之前,数据导入为mm / dd / yyyy,而在此日期之后导入的数据为dd / mm / yyyy。
例如,1月20日,日期在csv文件中显示为2016-01-20,导入为20/01/2016,而在1月6日,日期在csv文件中显示为2016-01-06,并且在导入时它将作为06/01/2016导入的访问表进入另一个而不是01/06/2016。
两个表都在同一个数据库中,并且配置相同。有没有人遇到过这个问题,更重要的是你可以解决它吗?
答案 0 :(得分:1)
在MS访问中,这是我不断受挫的原因:DATE MONTH管理。微软此举并不聪明。
问题:无论你做什么或当前的语言环境是什么,日期都总是以MM / DD / YYYY的形式存储在表格中。如果您将日期视为DD / MM,那是因为Access知道您的系统区域设置是DD / MM,并向您显示这样的日期。 对美国来说没有问题。对欧盟而言,主要是世界其他地区存在很多问题。 当Access插入日期时,它总是认为它是美国格式的MM / DD,当它不是时,你应该正确格式化日期。没关系。但是,当它找到无法使用MM / DD格式的日期(月份大于12)时,它知道日期不是MM / DD而是DD / MM,并且自己进行转换!事实上,这一举动并不聪明。最好让所有日期都不正确或抛出错误,这样你就可以直接修补,而不是让你的一半日期正确而另一半不正确,有时会注意几个月后。兰特结束了。
解决方案:
当你在表格中手动插入日期时,你应该做一个 格式(日期,“MM / DD / YYYY”)
从文本/ CSV文件导入时,应指定日期格式为DMY。 您可以在导入向导中执行此操作,步骤3或4,使用位于底部的“高级”按钮。