2012-07-11 3 views
-1

엑셀에 Sheet 1의 컬럼이 있습니다. Access & Excel에서 열 머리글을 일치시켜 Access로 데이터를 가져와야합니다. 같은 방식으로 여러 Excel 파일을 Access로 가져 와서 Access의 열 (필드)에 따라 기존 테이블에 데이터를 추가하려고합니다.엑셀에서 엑세스하여 데이터를 엑세스하십시오.

이것도 가능합니까? 그렇다면 어떻게해야할까요?

DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel8, _ 
"Atable", "z:\docs\test.xls", True, "A1:A15" 

그런 다음 일반적인 MS 액세스 SQL 조작 할 수있는 테이블이 있습니다

+1

이 질문은 질문보다 "코드 제공"요청과 비슷합니다. 그리고 원래 버전에서는 그것이 분명히 "좋은 코드를 제안 해"왔습니다. 나는 지금 다시 열어야한다고 생각하지 않는다. – HansUp

+1

@HansUp 질문자가 나쁜 역사를 가지고있을 수도 있다는 것에 동의하지 않습니다. 저는 SO가 위키이며 위키 질문으로 유용하다고 말하고 있습니다. 최근에 꽤 많이 제기 된 문제이며 이것은 가장 짧은 질문입니다. 그러므로 가장 가독성이 높습니다. 나는이 질문을 보존해야하며 커뮤니티 위키로 보존 될 수 있다고 생각합니다. – Fionnuala

답변

5

가장 쉬운 방법은 엑셀 시트 또는 범위를 링크 DoCmd.TransferSpreadsheet을 사용하는 것입니다.

또한 엑셀 시트를 참조 할 수 있습니다 - [Sheet1$] - 쿼리 또는 범위 :

INSERT INTO Table1 (ADate) 
SELECT SomeDate FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xls].[Sheet1$a1:a4] 

또는 명명 된 범위를 사용, 엑셀 8.0는 2007 타입 파일에 적합한 있습니다.

INSERT INTO Table1 
SELECT * FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xlsm].[XLTable] 

여기서 XLTable은 명명 된 범위입니다.

관련 문제