宏在Excel中运行SQL查询

时间:2011-02-01 13:58:57

标签: sql-server excel

我通过使用单元格引用作为参数,在Excel中创建了大量SQL查询。所有查询都作为字符串存储在一列中。不是使用Microsoft Query为每个SQL查询创建连接,而是有一种方法可以让宏在列中运行并执行每个单元格中的每个查询并将结果直接输出到右侧它?

由于

1 个答案:

答案 0 :(得分: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