Excel 导出数据以使用VBA访问(循环问题)

Excel 导出数据以使用VBA访问(循环问题),excel,vba,ms-access,Excel,Vba,Ms Access,我已经创建了两个sub,它们连接到一个openaccess数据库(MasterFile_January2021.accdb)并将数据导出到此数据库 目前,它似乎进入了一个从月报工具导出数据的无休止的循环-在崩溃之前导出了600k+行,而预期的行数为250k(当原始文件中没有时,我可以找到重复的行) 代码从无限循环中调用TransferSpreadsheet。循环从未终止,因为strFile从未更改,因此Len(strFile)>0始终为真 但是,您希望导入Excel数据一次,因此不要在循环中调用

我已经创建了两个sub,它们连接到一个openaccess数据库(MasterFile_January2021.accdb)并将数据导出到此数据库

目前,它似乎进入了一个从月报工具导出数据的无休止的循环-在崩溃之前导出了600k+行,而预期的行数为250k(当原始文件中没有时,我可以找到重复的行)


代码从无限循环中调用
TransferSpreadsheet
。循环从未终止,因为
strFile
从未更改,因此
Len(strFile)>0
始终为真

但是,您希望导入Excel数据一次,因此不要在循环中调用
TransferSpreadsheet

strFile=Dir(strPath&“月度报告工具.xlsm”)
'当Len(strFile)>0'时执行***禁用或删除此行***'
strPathFile=strPath&strFile
DoCmd.transfer电子表格导入,acSpreadsheetTypeExcel9_
strTable,strPathFile,blnHasFieldNames
“循环”***禁用或删除此行***”

因此,您是否建议删除“Do-While”循环,并保持其余循环正常工作。非常感谢!
Sub ExportData()

    Dim strPathFile As String, strFile As String, strPath As String, fileName As String
    Dim strTable As String
    Dim blnHasFieldNames As Boolean
    
    
    blnHasFieldNames = True
    
    strPath = "Z:\Danny Tool Test Folder\"
    
    strTable = "tblDatabase"
    
    strFile = Dir(strPath & "Monthly Reporting Tool.xlsm")
    Do While Len(strFile) > 0
      strPathFile = strPath & strFile
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _
            strTable, strPathFile, blnHasFieldNames
    
    Loop
    
End Sub