У меня проблема с форматированием, если я использую более 10 операторов UNION ALL в своем коде VBA.
Если я использую 10 или меньше, все отлично работает.
Я пытаюсь объединить 12 листов (Excel 2007).
У меня есть числовой столбец с именем SC, который превращается в строку и дату, если у меня больше 10 UNION ALL. Если я попытаюсь использовать ROUND с более чем 10 UNION ALL, мой последний выбор изменит все записи на одну единицу.
Я использую Microsoft.ACE.OLEDB.12.0 в качестве моего провайдера, и моя строка соединения до сих пор работала для нескольких вещей в моем коде.
Есть ли ограничения для операторов UNION ALL при использовании OLEDB?
Вот мой код.
Dim StrOr As String
Dim i As Variant
Dim Cnt As ADODB.Connection
Dim Rs As ADODB.Recordset
For i = 1 To 12
StrOr = StrOr & " " & "SELECT SC FROM [" & MonthName(i, True) & "$" & "] UNION ALL"
Next
StrOr = Left(StrOr, Len(StrOr) - 9) & ";"
Call GetADOCnt
Call ADORs