2012-07-11 202 views
-1

我在Excel中有一列Sheet 1。我需要通過匹配Access & Excel中的列標題將數據導入到Access中。同樣,我想根據Access中的列(字段)將多個Excel文件導入到將數據附加到現有表中。從Excel導入數據到Access

這甚至可能嗎?如果是這樣,我該如何去做呢?

+1

這個問題似乎更像是一個「給我代碼」的請求,而不是一個問題。而在最初的版本中,這就是它顯然是:「請建議我一些代碼」。我認爲現在不應該重新開放。 – HansUp 2012-07-12 08:32:50

+1

@HansUp我並不反對提問者可能有不良的歷史,我說的是SO是一個wiki,並且作爲一個維基的問題,這很有用。這是一個近來出現的問題,這是最簡單的問題,因此它是最具可讀性的問題。我相信這個問題應該保留下來,並且可以保存爲社區wiki。 – Fionnuala 2012-07-12 09:34:47

回答

5

的最簡單的方法是使用DoCmd.TransferSpreadsheet到Excel工作表或範圍鏈接:

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

您然後具有能夠與通常的MS訪問SQL被操縱的表。

您也可以參考一個Excel工作表 - [Sheet1$] - 或範圍的查詢:

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

或者使用一個命名的範圍,需要注意:Excel 8.0也適用於2007年類型的文件。

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

其中XLTable是命名範圍。