2009-04-03 2 views
0

MS Access에는 텍스트 파일 가져 오기 마법사가 있습니다. (파일 -> 외부 데이터 가져 오기 -> 가져 오기). 불행히도 텍스트 열 (필드)은 입력 파일에서 찾은 실제 데이터에 관계없이 항상 255 자 크기로 가져옵니다.MS Access : 텍스트 열을 저장된 데이터에 적합한 크기로 자동 줄이려면 어떻게합니까?

"SELECT Max(Len(_column_)) FROM _data_"검색어를 수동으로 입력하지 않고도이 255 자의 텍스트 열을 적절한 크기로 줄일 수 있습니까?

이미 해결책이 있으므로 아래에 게시 해 드리겠습니다.

내가, 사실 후 가져온 테이블 를 스캔 텍스트 열에서 발견 된 실제 최소 및 최대 크기를보고, 당신이 열을 변경할 수있는 도구를 만들었습니다

답변

1

한꺼번에 크기 :

http://www.glump.net/software/microsoft_access_table_optimizer

이 도구는 MS Access 가져 오기 마법사에 영향을 미치지 않으며 대체하지 않습니다. 따라서 텍스트 값을 사용하여 많은 수의 레코드 또는 열을 가져 오는 경우 내 도구를 실행할 수있는 시점까지 공간 문제가 발생할 수 있습니다. YMMV.

이 도구는 1) 지정된 테이블의 모든 열과 최소 및 최대 길이의 보고서를 만들고 2) 보고서 테이블을 편집 한 후 지정된 새 크기로 열의 크기를 조정하는 VBA 코드의 모듈입니다.

2

어떤 이유가 있습니까? 필드 크기를 줄이면 파일이 디스크에 차지하는 공간이 아니라 필드가 저장할 수있는 텍스트의 양이 줄어 듭니다.

+0

필드 중 하나라도 인덱싱되면 중요한 차이가 발생할 수 있습니다. 저는 대개 스테이징 테이블에서 가져 오기를 수행 한 다음 실제 테이블에 추가합니다. 따라서 이런 종류의 일을 할 필요가 없습니다. –

+0

음 ... 알 수없는 소스에서 데이터를 가져 오는 경우 준비 테이블 다음에 대상 테이블의 열을 만들기 위해 크기를 알아야합니다. 스테이징 테이블이 varchar (255), varchar (255), varchar (255) ...별로 도움이되지 않습니다. –

관련 문제