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