폴더 내의 모든 파일을 액세스 테이블로 가져 오는 방법

지금 공유 :

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

폴더에있는 모든 Excel 파일 가져 오기

액세스 할 Excel 파일 가져 오기이 기사에서는 주어진 폴더 내에서 여러 Excel 파일을 가져 오는 방법을 살펴 보겠습니다.하지만 csv 파일 등을 쉽게 가져올 수 있습니다. 곧 csv 파일을 처리하도록 코드를 변경하는 방법에 대해 설명하겠습니다.

먼저 코드가 수행 할 작업을 정의하겠습니다.

"주어진 폴더의 모든 파일을 기존 테이블로 가져오고 싶습니다. 파일에 헤더 행이 있는지 여부도 지정하고 싶습니다."

충분히 간단 해 보이므로이 작업을 수행하는 코드를 살펴 보겠습니다.

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

문제 확인 중…

액세스 데이터베이스 손상이 코드의 작동 방식에 대해 자세히 알아보기 전에 위의 코드에 오류 검사가 포함되어 있지 않다는 점에 유의하는 것이 중요합니다. 이는 코드를 쉽게 읽을 수 있도록 의도적 인 것이므로 오류 처리 코드를 추가하는 것이 좋습니다. 귀하의 데이터베이스에 Access 데이터베이스 손상 최소한!

좋습니다 – 우선 먼저. 가능한 한 다른 상황에서 코드를 사용할 수 있도록 유지하기 위해 경로 이름 (파일이 저장된 위치), 이러한 파일을 가져올 테이블 이름,이 폴더의 모든 파일에 헤더 여부 (예 : 스프레드 시트의 첫 번째 행에 필드 이름이 표시되는지 여부).

파일을 검색하는 코드 부분 (Dir (path & "\ *. xls"))은 제공된 경로에 와일드 카드와 파일 확장자를 추가합니다. 예를 들어 특정 명명 규칙과 일치하는 파일 만 가져 오려는 경우 (예 : 파일 이름에 "January"또는 "2017"이 포함 된 모든 파일) 코드를 변경하기가 매우 쉬울 것이므로이를 언급합니다. ). 원하는 경우 해당 필터를 서브 루틴 호출에 매개 변수로 추가 할 수도 있습니다.

어쨌든 주어진 기준과 일치하는 파일 (이 경우에는를 사용하는 폴더의 ".xls"파일)이 즉시 TransferSpreadsheet 명령을 사용하여 해당 파일을 가져 오려고 시도합니다.

필요에 맞게 코드를 변경할 수있는 곳…

이 시점에서 스프레드 시트를 가져 오는 대신 csv 파일을 가져 오도록 코드를 변경할 수 있습니다 ( "TransferText"명령 사용).

그런 다음 해당 폴더에 가져올 파일이 더 이상 없을 때까지 코드가 반복됩니다.

작은 코드이지만 반복해서 사용하게 될 것입니다.

저자 소개 :

Mitchell Pond는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. SQL 손상 복구 그리고 엑셀 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM

지금 공유 :

댓글이 닫혀있다.