如果我在VBA代码中使用10个以上的UNION ALL语句,我会遇到格式化问题。
如果我使用10或更少,一切都很好。
我要做的是组合12个工作表(Excel 2007)。
我有一个名为SC的数字列,如果我有超过10个UNION ALL,则会变成字符串和日期。如果我尝试使用超过10个UNION ALL的ROUND,我的最后一个选择将把所有记录改为一个单位。
我正在使用Microsoft.ACE.OLEDB.12.0作为我的提供程序,到目前为止,我的连接字符串已在我的代码中处理了几件事。
使用OLEDB时UNION ALL语句是否有限制?
这是我的代码。
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
答案 0 :(得分:0)
如果您要附加12个工作表中的UNION,为什么不使用循环一次附加一个工作表?你显然不需要重复数据删除(你正在使用UNION ALL),所以这似乎是一个明显的解决方案,可以避免你的UNION记录集发生任何问题。