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通过第二个循环多次运行宏?)
感谢您的帮助或指示。