2017-09-05 13 views
0

.CSV를 매일 Access로 가져와야합니다. 필드 중 하나가 문제를 일으키고 있습니다. 값은 '5,000'으로 저장됩니다. 이것은 '5 점 0'이 아니지만 '5000'(5 천)입니다.정수 액세스에서 CSV 가져 오기 Decimal

여러 조합의 소수점 기호 및 데이터 형식을 시도했지만 숫자를 '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]; 

지금이 :하지만이 표에 나는 등 정수, 날짜,

마지막에 필요한 필드를 설정, 그 테이블을 채우기 위해 다음 APPEND 쿼리 (바꾸기 기능 통지를) 사용 내 다른 쿼리에서 사용할 수있는 올바른 형식의 로컬 테이블