2017-09-05 46 views
0

我必须每天将.CSV导入Access。其中一个领域造成问题。该值存储为'5,000'。这不是'5点0',而是'5000'(五千)。整数访问CSV导入小数点

我试过十进制符号和数据类型的多种组合,但我似乎无法将数字转换为'5000'。

实施例线CSV:

*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 

电流导入规格:

CSV File Import Specs

我有哪些选项,优选而无需改变的数据源。

回答

1

从text/xls导入可能会有很多其他的“惊喜”,所以最可靠的方法是导入到临时表中,所有字段都有Text数据类型,分析数据然后复制到工作表。在应对期间,您可以进行任何转换。

+0

此方法将工作,因为没有选项可以在导入期间设置千位分隔符。 – Gustav

+0

该文件在任何特定日期都会保存大约30000条记录,这种方法仍然可行吗? – TheNiers

+0

这不是太多。是的,将工作。但是你有时需要压缩分贝。 –

0

我想你是在一台机器与欧洲的地区设置,你的数据来自美国。

在导入向导中,某处有“区域选项”,然后是“配置”,您可以定义数字的小数点位置(通常是点或逗号),您的选择应该自动使千位分隔符适应相反。

请注意,您的CSV区域分隔符不应该是逗号。

谢尔盖的答案也是一个很好的方法。

0

经过一番捣乱之后,我设法使用以下解决方法来解决问题。

首先,我将设置数据类型的CSV文件链接到所有字段的文本(功劳归于Sergey S.)。

接下来,我创建了一个本地表格,它是格式明智的CSV文件的副本。但在这个表,我设置了必填字段为整型,日期等

最后,我用下面的追加查询(请注意替换功能)来填充该表:

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]; 

我现在有我可以在其他查​​询中使用的正确格式的本地表格。