Access中用Like筛选调用DoCmd.OpenForm出现运行时错误3075
Access运行时错误3075(Like筛选窗体)解决方案
你的代码触发错误3075的核心原因是筛选条件的语法错误,具体问题和修正方案如下:
错误点分析
你写的筛选条件里多了一个多余的等号:
FilterLike = "[ID] = LIKE '" & jobNUMBER & "*'"
LIKE本身就是比较运算符,不需要和=连用,这种写法会导致Access解析筛选条件时出现语法错误,直接触发3075。
另外还要注意ID字段的数据类型,不同类型的拼接方式不同:
修正后的代码
情况1:ID是文本类型字段
Private Sub AddCOB_Click() Dim FilterLike As String If Nz(JobSwitch, 0) = 0 Then MsgBox "Please Select a Job" JobSwitch.SetFocus Else ' 去掉多余的等号,保留文本字段所需的单引号 FilterLike = "[ID] LIKE '" & jobNUMBER & "*'" DoCmd.OpenForm "AddCOF", , , FilterLike End If End Sub
情况2:ID是数字类型字段
数字类型字段不需要用单引号包裹筛选值,修正如下:
Private Sub AddCOB_Click() Dim FilterLike As String If Nz(JobSwitch, 0) = 0 Then MsgBox "Please Select a Job" JobSwitch.SetFocus Else ' 去掉等号和单引号 FilterLike = "[ID] LIKE " & jobNUMBER & "*" DoCmd.OpenForm "AddCOF", , , FilterLike End If End Sub
额外验证建议
如果还是有问题,可以用MsgBox FilterLike输出最终的筛选字符串,直接复制到Access查询的条件栏里测试,能快速定位语法是否正确。
内容的提问来源于stack exchange,提问作者Ricky Houtris
相关产品推荐
相关产品推荐

