2011-01-14 3 views
1

CSV 파일을 RecordSource으로 사용하려면 액세스 보고서가 필요합니다.보고서의 레코드 소스로 CSV/텍스트 파일 사용

나는 많은 것을 검색하고 시도했지만, 아직까지는이를 달성 할 방법을 찾지 못했습니다. 다른 데이터베이스의 임시 테이블은 이 아니며 옵션은입니다.

은 내가 DAO RecordSet를 사용하려고했습니다,하지만 난 RecordSet 잘 읽을 수있는 동안 나는 보고서의 RecordSet로 설정할 수 없으며 두 가지 접근 방식은 오류가 발생할로 나는 RecordSource 속성으로의 Name을 사용할 수 없습니다.

제발 좀 도와주세요!

답변

2

I 보고서의 레코드 원본하는 연결 문자열을 지정하는 FROM 절에 IN 연산자를 사용

SELECT [TestMailing#txt].* 
    FROM [TestMailing#txt] IN 'C:\Documents and Settings\My Documents'[Text;FMT=Delimited;HDR=NO;IMEX=2;CharacterSet=1252]; 

기본적으로, 텍스트 파일에 대한 IN은 두 부분을 첫 번째는 파일이있는 경로이고 두 번째는 대괄호 안에있는 연결 문자열 옵션입니다. 나는 텍스트 파일에 대한 링크를 만들고 그 연결 문자열을 검사하여 매개 변수가 무엇인지 알아 냈습니다.

마지막으로 텍스트 파일을 파일 이름과 #을 사용하여 테이블로 참조하십시오. 확장을 위해.

액세스 쿼리 작성기를 사용할 때 경로가 Source Database 속성이고 연결 문자열 옵션이 Source Connect Str 속성 인 쿼리의 속성 시트에 이러한 옵션을 넣을 수 있습니다. 속성 시트에 이러한 항목을 넣으면 ADD TABLES 도구 모음 아이콘을 클릭하여 지정된 폴더의 특정 연결 문자열에 대한 파일 목록을 가져올 수 있습니다.

보고서에서 동일한 구조 파일을 사용하는 경우 연결 문자열 옵션에도 표시 할 수있는 저장된 가져 오기 사양을 만들어 안정성을 향상시킬 수 있습니다. 텍스트 파일에 연결된 테이블을 만든 다음 연결 문자열을 검사하여이를 찾을 수 있습니다.

그러나 텍스트 파일에 대한 링크를 만들어서 영구히 두지 않는 이유는 거의 없습니다.

1

AFAIK를 수행하는 유일한 방법은 csv 파일을 연결하는 것입니다. 런타임에 링크하고 보고서가 완료된 후에 링크를 해제 할 수 있습니다. 링크가 유지되면 문제가 발생합니다. DoCmd 개체의 TransferText 메서드를 사용하면 VBA에서 연결할 수 있습니다.

추가 정보 : http://msdn.microsoft.com/en-us/library/aa220768(v=office.11).aspx

+0

이 정보는 이전에 발견되었지만 TransferText 메서드 또는 CreateTableDef 함수 (이에 상응해야 함)에 대한 설명서를 찾을 수 없습니다. 참조 설명서 링크를 제공해 주시겠습니까? 필요한 인수가 무엇인지 모르겠습니다! – Falcon

+0

좋아, 링크를 추가했습니다. Access를 사용하는 경우, Intellisense는 이러한 것들을 많이 지원할 수 있으며 또한 일부 버전의 Access Help는 Object Browser와 마찬가지로 매우 유용합니다. – Fionnuala

관련 문제