2012-10-18 25 views
3

我在表单上有一个组合框,其中的值是根据单独字段中的值填充的。字段值更改时刷新查询驱动的组合框值?

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

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

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

回答

4

看看这个描述是否合理地接近你的情况。

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

cboBar的行来源属性是查询引用txtFoo。我希望更新组合的内容以响应txtFoo中的更改。解决方法是在更新事件之后从txtFoo's查询cboBar

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

这正是我想要做的。我之前尝试过使用该解决方案,但一直无法使其运行。 – toolshed

+0

你能帮助我们理解为什么它不适合你吗?你的代码编译没有错误吗?你的表单的声明部分是否有'Option Explicit'?你有没有运行时错误信息? – HansUp

+0

我不明白为什么代码无法正常工作。它应该工作。这是数据库中唯一的代码片段,除了标题“Option Compare Database”。没有运行时错误消息。 – toolshed

1

我在过去有问题,Requery不工作,甚至挂。 它不漂亮,但你可能想试试这个:

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

这里是什么,我最近做做同样的事情为例,这应该帮助!它在afterupdate子。 Example of dynamic combobox

+0

而不是发布一个链接到代码图片,最好直接发布代码在你的答案。这允许其他人随着时间的推移评论和改进您的代码,并防止未来图像变得不可用的问题。 –

相关问题