【问题标题】:Refresh query-driven combo box values when field value changes?字段值更改时刷新查询驱动的组合框值?
【发布时间】:2012-10-18 17:56:37
【问题描述】:

我在表单上有一个组合框,其中的值是根据单独字段中的值填充的。

为此,我创建了一个组合框并设置“行源”以运行 SQL 语句。

我遇到的问题是,如果字段中的数据发生变化,组合框的值不会更新。

我如何获得重新运行查询的权限?

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    看看这个描述是否与你的情况相当接近。

    我的表单有一个文本框 txtFoo 和一个组合框 cboBar

    cboBar 的行源属性是一个引用 txtFoo 的查询。我希望更新组合的内容以响应txtFoo 的变化。解决方案是在更新事件后从txtFoo's 重新查询cboBar

    Private Sub txtFoo_AfterUpdate()
        Me.cboBar.Requery
    End Sub
    

    【讨论】:

    • 这正是我想要做的。我之前尝试过使用该解决方案,但一直无法正常工作。
    • 您能帮助我们了解为什么它不适合您吗?你的代码编译没有错误吗?您的表单声明部分中有Option Explicit 吗?您是否收到运行时错误消息?
    • 我自己不明白为什么代码不起作用。它应该工作。这是数据库中除了标题“选项比较数据库”之外的唯一一段代码。没有运行时错误消息。
    【解决方案2】:

    我过去曾遇到过 Requery 无法正常工作甚至挂起的问题。 它不漂亮,但你可能想试试这个:

    Me.cboBar.RowSource = ""
    Me.cboDemoUnit.RowSource = "your SQL statement"
    

    【讨论】:

      【解决方案3】:

      这是我最近做同样事情的一个例子,这应该会有所帮助!它在更新后的 sub.Example of dynamic combobox

      【讨论】:

      • 与其发布指向代码图像的链接,不如直接在您的答案中发布代码。这允许其他人随着时间的推移对您的代码进行评论和改进,并防止将来出现图像不可用的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 2012-12-13
      • 2013-02-01
      • 2014-07-13
      相关资源
      最近更新 更多