2011-02-01 87 views
0

我有一堆SQL查詢,我已經通過使用單元格引用作爲參數在Excel中創建。所有查詢都以字符串形式存儲在一列中。而不是使用Microsoft Query爲每個SQL查詢創建一個連接,是否有一種方法可以讓宏在列中運行並執行每個單元格中的每個查詢並將結果直接輸出到右側它?宏在Excel中運行SQL查詢

謝謝

回答

1

如何使用ADODB?我假定SQL位於A1和以下:

Const MY_CONNECTION_STRING = "Driver={SQL Server};Server=X;Database=Y;Trusted_Connection=Yes" 
Sub RunSQL() 
Dim cnn, c, rs 
Set cnn = CreateObject("ADODB.Connection") 
cnn.Open MY_CONNECTION_STRING 
For Each c In Range("A1:A" & UsedRange.Rows.Count) 
    Set rs = cnn.Execute(c.Value) 
    c.Next.Value = rs.collect(0) 
    rs.Close 
Next c 
cnn.Close 
End Sub