是否有一个很好的公式来正确地清理CSV数据,以便正确地将其导入到Access数据库?
长话短说,我确实有一个相当无聊的每月任务,每月分析大约3600+行数据。数据是直接从服务器上提取的,在接收数据之前,我无法控制数据格式。唯一给我带来麻烦的字段是一个混合的日期/时间字段。不幸的是,存储在服务器上的数据包括毫秒,当检索时,它以以下格式(24 h)出现:
M/D/YYYY HH:MM:SS:MSMSMS
这会导致导入到Access数据库时出现Access错误。随后,数据需要以以下格式(24小时)在报告中提供:
DD MMM YYYY HHMM
根据我的理解,最佳的方法是尽早将字符串转换为正确的日期/时间字段。理论上,我可以使用Excel通过字符串操作来清理数据,但如果可能的话,我更喜欢尽量减少使用两个Office程序。我只想把它导入Access,根据需要查询,并使用VBA一次性打印报告。我也很确定一定有比字符串操作更好的方法。
也请让我知道,如果我是完全屁股倒退。我正在学习Access。
感谢您的关注,我感谢任何帮助和投入。
1条答案
按热度按时间slsn1g291#
有一个很好的表达式可以只提取日期/时间:
但是,由于最终格式应该是
DD MMM YYYY HHMM
,因此您可能不会将US区域设置与反向日期格式一起使用,因此将此字符串转换为CDate
通常会返回错误的月份日期:因此,应用一个函数来正确解析它,就像我的
CDateUS
一样:完整代码和文档在GitHub:VBA.Date。