【问题标题】:Populating combobox on userform from dynamic sql results从动态 sql 结果填充用户窗体上的组合框
【发布时间】:2015-01-28 13:14:30
【问题描述】:

我有一个带有 2 个组合框的简单用户表单。第一个包含 2 个 SQL 服务器的选择。第二个应该包含来自所选服务器的由查询填充的数据库列表 - 这目前不起作用。

我可以将记录集中的数据复制到工作簿的工作表中,但不能复制到组合框中。

以前我通过循环遍历 xlveryhidden 工作表上的值来填充组合框,没有问题:

For i = 1 to i = LastRow
UserForm1.ComboBox2.AddItem Range("A" & i)
next i 

这是我迄今为止从记录集中复制数据的尝试:

Dim i As Integer
Do Until i = rst.RecordCount
UserForm1.ComboBox2.AddItem rst.getrows(1, i)
i = i + 1
Loop

出现类型不匹配错误。不确定我是否走在正确的轨道上。

有谁知道如何用来自记录集中的 sql 查询的结果填充组合框?非常感谢任何帮助。

【问题讨论】:

    标签: sql-server excel vba adodb recordset


    【解决方案1】:

    不需要循环:

    If Not rst.EOF then Me.ComboBox2.Column = rst.getrows()
    

    应该足以将整个记录集放入控件中。 GetRows 返回一个与您预期的方式不同的数组,这就是我使用 .Column 而不是 .List 的原因

    【讨论】:

    • 正确。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-07
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2011-11-17
    相关资源
    最近更新 更多