整数访问中的CSV导入小数

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

当前进口规格:

CSVText数据类型的临时表导入到临时表中,对数据进行分析,然后将其复制到工作表中。在应对过程中,您可以进行任何转换。


经过一番摆弄之后,我设法使它与以下变通办法一起工作。

首先,我链接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的区域分隔符不应为逗号。

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