我在Access上创建一个表单,根据列名“控件类型”过滤子表单。
我正在使用列表框选择要过滤的多个值。
我还有一个按钮,可以对表单执行过滤。
我写了这段代码:
Private Sub cmdSearch_Click()
Dim varItem As Variant
Dim strSearch As String
Dim Task As String
For Each varItem In Me!listControl.ItemsSelected
strSearch = strSearch & "," & Me!listControl.ItemData(varItem)
Next varItem
If Len(strSearch) = 0 Then
Task = "select * from tblAB"
Else
strSearch = Right(strSearch, Len(strSearch) - 1)
Task = "select * from tblAB where Control_Type = '" & strSearch & "' "
End If
Me.tblAB_subform.Form.Filter = Task
Me.tblAB_subform.Form.FilterOn = True
End Sub
我收到一行的Run = time错误'3075':
Task = "select * from tblAB where Control_Type = '" & strSearch & "' "
答案 0 :(得分:2)
运行时错误不得在引用行上。
Filter属性是一个由WHERE组成的字符串表达式 没有WHERE关键字的子句。
所以不是一个完整的SELECT
句子,只是:
Task = "Control_Type = '" & strSearch & "'"