2012-05-24 2 views
0

여기 내 문제가 있습니다. 동일한 파일에 다른 그룹에 대한 데이터가있는 내 컨트롤에서 만들어진 CSV 파일이 있습니다. 처음 7 행은 각 그룹마다 다른 테이블 헤더입니다. 먼저이 파일을 Access에 단일 테이블로 가져옵니다. 이후 데이터 분석을 위해 개별 그룹에 액세스하는 쿼리를 만들었습니다. 문제는 필드 중 하나에서 표현식을 사용해야한다는 것입니다. 스프레드 시트에서 가져 오기 위해서는 각 열에 숫자와 문자가 포함되어 있기 때문에 텍스트를 가져와야합니다. 상단의 헤더 때문에 정확한 칼럼에 기재하고 마사지를 받아야합니다. 그래서 내가하고 싶은 일은 각 그룹을 자신의 테이블에 삽입하는 것입니다.하지만 열의 일부를 숫자로 변환하여 표현이 작동하도록하고 싶습니다. 나는 문제가있는 표현을 게시 할 것이다. 감사.액세스 삽입의 데이터 유형 변환

Sum(IIf([2000 Query].[Field19]=1,IIf([5000 Query].[Field21]>0,-[5000 Query].[Field21],[5000 Query].[Field21]),[5000 Query].[Field21])) AS [ADJ Invoice Total] 

답변

1

(CDEC)는 :

IIf(CDec([2000 Query].[Field19])=1 ... 

그것은과 같이 작동합니다

?cdec(" 20,121.34 ") 
20121.34 

쉼표 그래서 및 선행 및 후행 공백이 괜찮해야합니다.

CDec는 VBA에서는 사용할 수 있지만 MS Access 쿼리에서는 사용할 수 없습니다. 쿼리에서 발 작동합니다 :

IIf(Val([2000 Query].[Field19])=1 ... 

또는 CDbl에는 쉼표를 천 개 단위 구분 및 선행 및 후행 공백을 수락 할.

+0

나는 생각했다. select를 사용하여 데이터를 보유 할 초기 테이블을 만들었지 만 헤더 행을 제거하는 특정 구문을 사용하여 행을 제외했습니다. 그런 다음 수락 한 값을 수동으로 값을 변경했습니다. 그런 다음 위와 동일한 예외가있는 일반 삽입을 수행하여 데이터를 암시 적으로 변환했습니다. – Ken

+0

내 유일한 문제는 지금 테이블을 잘라 버리고 있지만 인터넷에서 뭔가를 찾을 수있을 것이라고 확신합니다. – Ken

+0

'DELETE * TableX'를 의미합니까? – Fionnuala