我一直在尝试编写一段代码,允许我查询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。
感谢您的帮助
答案 0 :(得分:1)
将其保存在记录集中。像这样:
Set rs = db.OpenRecordset("Select Distinct ""Date"" from testtable")
要访问记录集中的记录,请使用GetRows
像这样:
data = rs.GetRows(j)
然后遍历数据。