我有一个csv文件,我转换为Excel,它包含大约890000条记录, 现在,当我使用代码将其导入Access时,它只导入最多65535的记录。即使我有简单的excel文件包含超过66000的记录,它也只会导入65535条记录。
Set xlApp = New Excel.Application
xlApp.Visible = False
xlApp.DisplayAlerts = False
Set f = Application.FileDialog(3)
f.AllowMultiSelect = False
If f.Show Then
For Each varItem In f.SelectedItems
strFile = Dir(varItem)
strFolder = Left(varItem, Len(varItem) - Len(strFile))
MsgBox "Folder: " & strFolder & vbCrLf & _
"File: " & strFile
Next
End If
a = strFolder & strFile
DoCmd.TransferSpreadsheet _
transfertype:=acImport, _
TableName:="Table_Name", _
FileName:=a, _
HasFieldNames:=True, _
Range:="Data" & "!A1:AL" & ls_last_row
我正在使用Access 2010和Excel 2010。
由于
答案 0 :(得分:1)
尝试在DoCmd.TransferSpreadsheet
电话中设置电子表格类型:
DoCmd.TransferSpreadsheet _
Spreadsheettype:=acSpreadsheetTypeExcel12, _
transfertype:=acImport, _
TableName:="Table_Name", _
FileName:=a, _
HasFieldNames:=True, _
Range:="Data" & "!A1:AL" & ls_last_row
2010年可能是acSpreadsheetTypeExcel14
...我不记得了。
答案 1 :(得分:0)
在导入/导出时,Access的记录计数限制为~65,000行。此限制可能会导致您的问题。例如,如果您尝试使用功能区上的数据导出选项导出表,并且您的表包含超过65,000行,则访问将警告您可能不会导出所有行。