记录不会从Excel完全导入Access

时间:2014-11-26 16:21:12

标签: excel ms-access

我有一个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。

由于

2 个答案:

答案 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行,则访问将警告您可能不会导出所有行。