2010-05-10 43 views
8

我有一个“大”的SQL查询(如200线)...Excel宏 - 太多的连接行

dim query as string 
query = "..................................." & _ 
     "..................................." & _ 
      .... Like a lot lines later... 
     "..................................." 

function query,"sheet 1" 

当我这样做,Excel中说,“太多的行延续。”

避免这种情况的最佳方法是什么?

+1

写一个较短的查询:P – 2010-05-10 21:02:52

+1

我不能做到这一点... XD – pojomx 2011-02-15 21:08:52

+0

[MSDN - 太多的线条延续(https://msdn.microsoft。 com/en-us/library/office/gg264236.aspx) – KyleMit 2015-08-24 18:10:49

回答

8

只有一种方法 - 使用较少延续。

这可以通过将更多的文字上线或通过使用级联来完成不同的表达:

query = ".........." 
query = query & ".........." 
query = query & ".........." 

但最好是从外部源加载文本,作为一个整体。

+0

有点肮脏,但工作:) – pojomx 2010-05-10 21:46:40

1

到目前为止,我发现这个...

Call AddToArray(query, "...") 
Call AddToArray(query, "...") 
... a lot lines later... 
Call AddToArray(query, "...") 

*编辑:忘了补充:

Sub AddToArray(myArray As Variant, arrayElement As Variant) 

If Not IsArrayInitialized(myArray) Then 
    ReDim myArray(0) 
    myArray(0) = arrayElement 
Else 
    ReDim Preserve myArray(UBound(myArray) + 1) 
    myArray(UBound(myArray)) = arrayElement 
End If 

End Sub 

来源:link text X(三江源

(仍在等待更好的方法要做到这一点...)谢谢你:P

0

将查询分为几个部分:

query = _ 
    "............" & _ 
    "............" & _ 
    "............" 
query = query & _ 
    "............" & _ 
    "............" & _ 
    "............" 
query = query & _ 
    "............" & _ 
    "............" & _ 
    "............" 
+1

这是我不想做的事情:)谢谢 – pojomx 2010-05-10 21:46:21