데이터, 데이터, 데이터 – 그것 없이는 데이터베이스는 꽤 쓸모가 없을 것입니다. 따라서 m 중 하나가ost 데이터를 Access 테이블로 가져올 때 자주 묻는 질문은 – 정기적으로 많은 파일을 가져와야하는데 어떻게하면 내 삶을 더 쉽게 만들 수 있습니까? 매우 일반적인 작업이기 때문에 특정 고양이를 피부로 가꾸는 방법에는 여러 가지가 있습니다.하지만 여기서는 한 가지만 살펴 보겠습니다. 제 생각에는 가장 쉬운 방법입니다. 예정된 기간. 약간의 계획과 약간의 VBA 마법이 있으면 좋을 것입니다. s를 얻으려면 계속 읽으십시오.tar테드…
폴더에있는 모든 Excel 파일 가져 오기

먼저 코드가 수행 할 작업을 정의하겠습니다.
"주어진 폴더의 모든 파일을 기존 테이블로 가져오고 싶습니다. 파일에 헤더 행이 있는지 여부도 지정하고 싶습니다."
충분히 간단 해 보이므로이 작업을 수행하는 코드를 살펴 보겠습니다.
Sub ImportfromPath(path As String, intoTable As String, hasHeader As Boolean) Dim fileName As String 'Loop through the folder & import each file fileName = Dir(path & "\*.xls") While fileName <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, intoTable, path & fileName, hasHeader 'check whether there are any more files to import fileName = Dir() Wend End Sub
문제 확인 중…

좋습니다 – 우선 먼저. 가능한 한 다른 상황에서 코드를 사용할 수 있도록 유지하기 위해 경로 이름 (파일이 저장된 위치), 이러한 파일을 가져올 테이블 이름,이 폴더의 모든 파일에 헤더 여부 (예 : 스프레드 시트의 첫 번째 행에 필드 이름이 표시되는지 여부).
파일을 검색하는 코드 부분 (Dir (path & "\ *. xls"))은 제공된 경로에 와일드 카드와 파일 확장자를 추가합니다. 예를 들어 특정 명명 규칙과 일치하는 파일 만 가져 오려는 경우 (예 : 파일 이름에 "January"또는 "2017"이 포함 된 모든 파일) 코드를 변경하기가 매우 쉬울 것이므로이를 언급합니다. ). 원하는 경우 해당 필터를 서브 루틴 호출에 매개 변수로 추가 할 수도 있습니다.
어쨌든 주어진 기준과 일치하는 파일 (이 경우에는를 사용하는 폴더의 ".xls"파일)이 즉시 TransferSpreadsheet 명령을 사용하여 해당 파일을 가져 오려고 시도합니다.
필요에 맞게 코드를 변경할 수있는 곳…
이 시점에서 스프레드 시트를 가져 오는 대신 csv 파일을 가져 오도록 코드를 변경할 수 있습니다 ( "TransferText"명령 사용).
그런 다음 해당 폴더에 가져올 파일이 더 이상 없을 때까지 코드가 반복됩니다.
작은 코드이지만 반복해서 사용하게 될 것입니다.
저자 소개 :
Mitchell Pond는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. SQL 손상 복구 그리고 엑셀 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM