2017-07-31 62 views
0

您好,我需要一些帮助来完成我放置在Access中的以下代码。我正在寻找修改关于mfile变量的代码的建议,以便在它遍历目录中的所有Excel文件时如何匹配文件变量。将第二个变量迭代链接到第一个

Public Function load_data() 
'mfile is modified filename with "xl" prefix to group all imported tables 
together 

Dim file, mfile As Variant  
file = Dir(CurrentProject.Path & "\") 
mfile = "xl_" & Left(file, Len(file) - 5) 

Do Until file = ""  
    Debug.Print mfile   
    If file Like "*.xlsx" Then    
     For Each tbl In CurrentDb.TableDefs    
      If mfile = tbl.Name Then     
       DoCmd.DeleteObject acTable, tbl.Name 
       Exit For     
      End If    
     Next tbl   
     DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, mfile, CurrentProject.Path & "\" & file, True   
    End If   
    file = Dir   
Loop 

End Function 

回答

1

我想你只是想在你的循环内移动那一行?

Public Function load_data() 

    'mfile is modified filename with "xl" prefix to group 
    ' all imported tables together 

    Dim file, mfile As Variant  
    file = Dir(CurrentProject.Path & "\") 

    Do Until file = "" 

     If file Like "*.xlsx" Then 

      mfile = "xl_" & Left(file, Len(file) - 5) '<< move inside loop 
      Debug.Print mfile   

      For Each tbl In CurrentDb.TableDefs    
       If mfile = tbl.Name Then     
        DoCmd.DeleteObject acTable, tbl.Name 
        Exit For     
       End If    
      Next tbl   
      DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, _ 
          mfile, CurrentProject.Path & "\" & file, True   
     End If 

     file = Dir   
    Loop 

End Function 
+0

很简单。谢谢。我正在推翻它。 – BarryMahnly

相关问题