【问题标题】:Force Combo Box List Update with VBA使用 VBA 强制组合框列表更新
【发布时间】:2015-08-04 10:24:25
【问题描述】:

我正在处理 MS Access 表单。我试图在表单上设置一个组合框,根据表单前面的信息缩小列表的范围。我在数据库中保存了一个正确获取列表的查询。

我遇到的问题是每次更新表单后都不会调用查询,因此组合框的列表始终是打开表单时的列表。

我曾尝试在前一个控件的AfterUpdate 事件中使用Me.MyComboBox.Requery 强制更新,但这只会请求表单的记录源,而不是组合框的行源。

我也尝试更改行源属性以强制重新查询,但这也不起作用:

    Private Sub PreviusControl_AfterUpdate()
        Me.MyComboBox.RowSourceType = "Table/Query"
        Me.MyComboBox.RowSource = "qryDynamicComboSource"
    End Sub

提前致谢!

【问题讨论】:

  • 使用Me.MyComboBox.Requery应该重新查询组合框的记录源。我举了一个例子,它对我有用。我的查询是SELECT Table1.ID FROM Table1 WHERE (((Table1.ID)>[Forms]![Form1]![minValueTextBox]));,minValueTextBox 的更新后事件只是调用Me.Combo0.Requery

标签: ms-access combobox vba ms-access-2010


【解决方案1】:

看起来你所做的一切都是正确的。检查您的查询设计是否真的根据您的参数发生变化。

【讨论】:

  • 我通过在表单打开时运行它来检查查询。它按预期工作并返回行,但未显示在组合框的列表中。根据您的帖子和@ChipsLetten 的评论,我坚持使用Me.ComboBox.Requery
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-05
  • 1970-01-01
  • 1970-01-01
  • 2019-06-12
相关资源
最近更新 更多