我正在撞墙试图解决一些我确信很简单的问题。我正在使用Access 2016并尝试构建一个在标题中基本上有一个过滤器组合框的表单。
假设表单名为myForm,comboBox为cboStatus。该查询包含一个名为status的字段。
在我的查询中,我基本上有SELECT * FROM myQuery WHERE [myQuery]。[status] = [Forms]![myForm]![cboStatus]。最后,我打算在COmboBox上添加一个基于VBA的事件,以便在更改时更新查询,但是现在,我选择一个值并点击表单上的Refresh All,只是为了测试它。
无论我在ComboBox中有什么价值,表单中都不会显示任何记录。我错过了什么?提前谢谢!
答案 0 :(得分:0)
如果status
是文本字段,那么您需要
SELECT * FROM myQuery WHERE [myQuery].[status]= "'" & [Forms]![myForm]![cboStatus] & "'"
答案 1 :(得分:0)
我想我已经解决了!我没有将表单元素(comboBox)定义为SQL查询中的参数。添加:
PARAMETERS [Forms]![myForm]![cboStatus] Text ( 255 );
好像已经修好了!想要确保我做出回应以防其他人有同样的问题!