【发布时间】:2015-02-03 12:41:51
【问题描述】:
我在从 csv 文件导入双数时遇到了一些问题。这些文件有一个分号分隔符和逗号作为小数分隔符。
我无法设置导入规范,因为 csv 中字段的顺序经常发生变化,如果数据进入错误的字段将是一场灾难。
此外,csv 文件必须先写入临时表。不要因此而讨厌我,但由于我必须处理数据并为以后的数据处理设置一些信息字段,这是迄今为止实现它的最简单、最快和最安全的方法。
这就是问题本身:
当使用TransferText 时,它将导入,但当然将逗号解释为分隔符。不好...
当用句号替换逗号和用逗号替换分号时,它可以工作。但它会忽略句号,因此 1.2 变为 12,1.333 变为 1333。该字段将是 double 类型。
我已经测试了很多东西。除了TransferText我试过了:
DoCmd.RunSQL ("INSERT INTO Tabelle1 SELECT cdbl(a1) as aa FROM[TEXT;FMT=Delimited;HDR=YES;CharacterSet=437;DATABASE=C:\SPOT].[test.csv]")
但似乎没有任何效果,即使我在使用 TransferText 之前创建了一个字段类型为 DOUBLE 的新表......仍然会忽略小数。
所以,如果您能告诉我如何在第一步中使用TransferText 替换分号和逗号,或者如何使用INSERT INTO 的东西,我会很高兴。
非常感谢!
【问题讨论】: