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