Excel VBA - 如何从SQL查询填充数组

时间:2011-11-10 21:16:15

标签: sql excel-vba vba excel

我一直在尝试编写一段代码,允许我查询SQL DB并使用返回的值来填充组合框。

当我要求它将值返回到工作表时,查询运行正常,但是我不希望它们存在,我只是想将它们存储在组合框中以供组合框使用。

这是我到目前为止所拥有的......

Sub testQuery()
Dim varConn As String
Dim SQL As String
Dim test As String


Range("A1").CurrentRegion.ClearContents

varConn = "ODBC; DSN=Traceability DB;UID=XXX;PWD=XXX"

SQL = "Select Distinct ""Date"" from testtable"

With ActiveSheet.QueryTables.Add(Connection:=varConn, Destination:=Range("A1"), SQL:=SQL)
    .Refresh
End With

UserForm1.Show

End Sub

我不确定如何将Range(“A1”)替换为数组。

注意:这用于MAC的最新版本的Excel。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

将其保存在记录集中。像这样:

Set rs = db.OpenRecordset("Select Distinct ""Date"" from testtable")

要访问记录集中的记录,请使用GetRows 像这样:

data = rs.GetRows(j)

然后遍历数据。