CSV Import Decimal in Integer Access
我每天必须将.CSV导入到Access中。领域之一引起了问题。该值存储为" 5,000"。这不是" 5点0",而是" 5000"(五千)。
我尝试了十进制符号和数据类型的多种组合,但似乎无法将数字强制转换为" 5000"。
CSV中的示例行:
1 2 | *Item;Supp Part Ref;description;Source;Descr;OrderCode;*Dest;LT;UPO;OrderPlaceDate;ActionDate;ReqdQty;Open Qty;RCVG QTY;OrdLineStat;FlmtPlnr;BuyerName 1929637;1929637;Ppc screw;XFV;VOSS FLUID GMBH;G;ODC;21D;23925340001;27/06/2017;06/09/2017;5,000;5,000;0;30;DA;WILL VERMEULEN |
当前进口规格:
我具有哪些选项,最好不必更改数据源。
从text / xls导入可能还有很多其他"惊喜",因此最可靠的方法是将所有字段都具有
经过一番摆弄之后,我设法使它与以下变通办法一起工作。
首先,我链接CSV文件,在其中将所有字段的数据类型设置为文本(贷记到Sergey S.)。
接下来,我创建了一个本地表,该表在格式上是CSV文件的副本。但是在此表中,我将必填字段设置为Integer,Date等。
最后,我使用以下追加查询(注意"替换"功能)来填充该表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | INSERT INTO Tbl_JDA ([*Item], [Supp Part Ref], description, Source, Descr, OrderCode, [*Dest], LT, UPO, OrderPlaceDate, ActionDate, ReqdQty, [Open Qty], [RCVG QTY], OrdLineStat, FlmtPlnr, BuyerName) SELECT [*Item], [Supp Part Ref], description, Source, Descr, OrderCode, [*Dest], LT, UPO, OrderPlaceDate, ActionDate, REPLACE([ReqdQty],",",""), REPLACE([Open Qty],",",""), REPLACE([RCVG QTY],",",""), OrdLineStat, FlmtPlnr, BuyerName FROM [JDA Orderbook]; |
我现在有一个本地表,该表具有正确的格式,可以在其他查??询中使用。
我猜您正在使用具有欧洲区域设置的计算机,并且您的数据来自美国。
在导入向导中,您拥有" Regional options ",然后\\\\ Configuration \\的位置,然后您可以定义数字的小数点(通常是点或逗号),您的选择应自动适应相对的千位分隔符。
请注意,CSV的区域分隔符不应为逗号。
谢尔盖的答案也是一个很好的方法。