2013-02-07 85 views
1

我有很多用Google搜索這一點,但我無法得到它..如何從Access 2010連接到Excel xls文件VBA

我有一個Excel文件(.xls的)是13K左右..行我希望能夠從Access 2010 VBA連接到它,然後能夠從我的工作中複製需要的數據。

任何人都建議我如何做到這一點。

+0

你在哪裏卡住了?您是否將Excel文件鏈接爲表格? – Fionnuala

+0

我不想這樣做..我有VBA爲用戶提供了通過'Application.FileDialog'選擇文件的選項..當用戶選擇文件時,VBA應該選擇一些要複製到的列數據庫中的表格。稍後,另一個表單將根據用戶輸入進行一些搜索。 – sikas

回答

1

可以在MS Access中創建一個查詢:

INSERT INTO Table1 
SELECT FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xlsm].[Sheet1$] s 
WHERE s.SomeField=2 

或者

SELECT * INTO Table1 
FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xlsm].[Sheet1$] s 
WHERE s.SomeField=2 

您也可以參考命名的區域和範圍。您也可以簡單地設置一個查詢並允許用戶創建他們自己的製表查詢。

在VBA

Dim db As Database 
Set db = CurrentDB 

ssql="SELECT * INTO Table1 " _ 
    & "FROM [Excel 8.0;HDR=YES;DATABASE=Z:\Docs\Test.xlsm].[Sheet1$] s " _ 
    & "WHERE s.SomeField=2" 
db.Execute ssql, dbFailOnError 
+0

我該如何使用VBA來做到這一點? – sikas

+0

您的更新給我一個錯誤! 「'運行時錯誤'3067':查詢必須至少包含一個表或查詢'」。另外,如何選擇特定列?說列A,B,C,E和H – sikas

+0

我設法解決這個問題,但我得到另一個問題..'運行時錯誤'3061':參數太少。預計1.' – sikas