0
我在我的Access應用程序中有一張表,需要用一堆Excel文件填充數據。我想這樣的代碼:Access中導入Excel數據
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, strTable, strExcelpath, True
但每次覆蓋數據在我的訪問表,而不是其附加的,它給了正在發送的絕對無法控制。
我需要找到一種方法來簡單地將Excel文件中的數據追加到我的Access表中,這兩個文件具有相同的結構,因此我想知道是否有一種方法可以逐行導入而不指定列。但是,對於個人知識和對用戶使用的恐懼,我也想知道如何根據行和列來導入它。
謝謝!
編輯:代碼對Excel文件中的選擇:
Dim cn As ADODB.Connection
Dim strQuery As String
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Application.CurrentProject.Path & "\Excel\test.xls;" & _
"Extended Properties=Excel 8.0;"
.Open
End With
strQuery = "INSERT INTO tblClients " & _
"SELECT * FROM [Excel 8.0;HDR=YES;DATABASE =" & Application.CurrentProject.Path & "\Excel\test.xls].[tblImport$]"
DoCmd.RunSQL strQuery
請考慮我的Excel文件目前有近200列...我可以做一個SELECT *嗎?這個部分是否有任何文檔[Excel 8.0; HDR = YES; DATABASE = Z:\ Docs \ Test.xls] [Sheet1 $ a1:a4] 謝謝! – Estarius 2012-08-08 14:20:27
是的,只要訂單相同,您可以使用*,但不建議使用*。你會在這裏得到一些信息http://support.microsoft.com/kb/257819,以及更多在Stackoverflow。 – Fionnuala 2012-08-08 14:24:47
當我嘗試這種方法時,我總是收到錯誤3011 ... – Estarius 2012-08-08 14:36:55