组合框的行源查询中的where子句

时间:2014-12-12 19:12:31

标签: combobox ms-access-2010

我正在尝试创建一个行源是查询的组合框。我希望根据表单上的一个控件(可能会根据当前记录更改)或固定值(用户名)中的某个值来过滤查询结果使用应用程序)

假设我只想显示用户可以看到的项目

我想列出当前所选项目的任务。

我使用了where子句:where cmb_name.colname = me.control 这不起作用。

我尝试在组合框的行源中的查询中插入此where子句,以及在组合框调用的查询本身内插入 - 不能以任何方式工作。

最佳做法是什么?

2 个答案:

答案 0 :(得分:1)

我会将其从查询转移到VBA代码。使用Form current方法,您将能够执行此操作。

Private Sub Form_Current()
    Me.comboBoxName.RowSource = "SELECT theFieldA, theFieldB FROM theTable " & _
                                "WHERE theConditionFieldName = '" & Me.yourControlName & "'"

    'If the Me.yourcontrolName is a number value, please remove the single quotes in the above statement.

    Me.comboBoxName.ReQuery
End Sub

这将更好地控制选择。

答案 1 :(得分:0)

将表单的过滤器属性设置为colname = cmb_name,假设cmb_name是组合框,colname是要过滤的列。 (过滤器不需要WHERE个关键字。)