我有TSV文件,其中包含dd-MM-YYYY格式的荷兰格式文本字段的列,如22-OKT-2004和05-MRT-2004。我想将文件导入Access。
日期列应作为日期/时间对象导入。但是,上述月份(MRT,MEI,OKT)未被识别,可能是因为它们与相应的英文缩写不同。我应该如何使用导入向导来导入这些对象?
(奇怪的是,如果我将列作为文本列导入,稍后通过表格设计将其转换,它确实有用。但我不喜欢这个选项,因为有些TSV文件非常大,以至于导入后转换(而不是在导入期间)给出错误:Microsoft Office无法更改数据类型;没有足够的磁盘空间或内存。)
答案 0 :(得分:0)
我能够使用Windows中的“法语(加拿大)”区域设置重新创建您的问题。对于制表符分隔的文件
ID DonorID Amount DateString
1 1 8 01-janv-2013
2 1 2 01-févr-2013
3 1 3 01-mars-2013
4 1 4 01-avr-2013
5 1 5 01-mai-2013
7 2 5 01-juin-2013
8 2 6 01-juil-2013
13 2 4 01-août-2013
14 2 7 01-sept-2013
15 2 9 01-oct-2013
16 2 6 01-nov-2013
17 2 7 01-déc-2013
如果我尝试将日期列直接导入Access中的Date/Time
字段,除了“oct”和“nov”(法语缩写与英文缩写匹配)之外,每个月都会出现转换错误。但是,我可以将日期字段导入为Text
,然后如果我运行查询
SELECT ID, DonorID, Amount, CDate([DateString]) AS DateValue
FROM importedData;
[DateValue]列显示正确的日期。因此,您可以将日期导入Text
然后
直接使用上述查询,或
将其更改为生成表查询(SELECT ... INTO NewTableName FROM ...
),以将日期重新写为实际日期值。