查询过于复杂/可以更好地循环遍历Excel文件夹

时间:2016-10-20 20:26:23

标签: sql vba excel-vba excel

Do While sFile <> ""

    strQuery = strQuery & _
     "SELECT * FROM [Sheet1$A15:E999] " & _
     "IN '" & ThisWorkbook.Path & "\" & sFile & "'" & _
     "[Excel 12.0;Provider=Microsoft.ACE.OLEDB.12.0;Mode=Read;ExtendedProperties='HDR=YES;'] " & _
     "UNION "

    sFile = Dir()

Loop

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open strConnection
Set objRecordSet = objConnection.Execute(strQuery)

您好,

我有上面的代码,它从文件夹中的所有文件中获取数据,并通过ADODB数据连接写入单独的文件。问题是,当文件为20+时,会弹出“查询过于复杂的错误”,因为所有获取200个文件的查询都会合并为一个查询。

我想知道SQL方面是否有解决方法,因为我的知识是基本的。我正在寻找的是第二个或多个数据连接,每个查询收集(比方说)5个文件,这些文件都写在同一个文件中?

如果这很难,是否可以批量读取文件夹中的文件,同时跟踪文件? (因此使用VBA通过第二个循环多次运行宏?)

感谢您的帮助或指示。

0 个答案:

没有答案