我正在尝试创建一个行源是查询的组合框。我希望根据表单上的一个控件(可能会根据当前记录更改)或固定值(用户名)中的某个值来过滤查询结果使用应用程序)
假设我只想显示用户可以看到的项目
或
我想列出当前所选项目的任务。
我使用了where子句:where cmb_name.colname = me.control 这不起作用。
我尝试在组合框的行源中的查询中插入此where子句,以及在组合框调用的查询本身内插入 - 不能以任何方式工作。
最佳做法是什么?
答案 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
个关键字。)