Foxtable(狐表)用户栏目专家坐堂 → 语法错误:“'*1*'”运算符后缺少操作数。


  共有2180人关注过本帖树形打印复制链接

主题:语法错误:“'*1*'”运算符后缺少操作数。

帅哥哟,离线,有人找我吗?
巷弄太过弯曲
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:219 积分:1800 威望:0 精华:0 注册:2019/2/16 10:17:00
语法错误:“'*1*'”运算符后缺少操作数。  发帖心情 Post By:2019/11/4 13:36:00 [只看该作者]

老师,请问我在查询按钮中写了查询代码,为什么我在执行的时候会报错
图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20191104133335.png
图片点击可在新窗口打开查看
是不是代码有问题
Dim filter As String
Dim sts() As String = {"物料名称","客户","物料编号","型号规格"}
For Each st As String In sts
    Dim val As String = e.Form.Controls(st).value
    If val > "" Then
        If filter = "" Then
            filter = st & "like '*" & val & "*'"
        Else
            filter = filter & " and " & st & "like '*" & val & "*'"
        End If
    End If
Next
Tables("物料信息").Filter = filter

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/4 13:56:00 [只看该作者]

对于表达式条件,*号有特殊含义,如果数据里有*号,这样处理

Dim filter As String
Dim sts() As String = {"物料名称","客户","物料编号","型号规格"}
For Each st As String In sts
    Dim val As String = e.Form.Controls(st).value
    If val > "" Then.
val = val.replace("*","[*]")
        If filter = "" Then
            filter = st & "like '%" & val & "%'"
        Else
            filter = filter & " and " & st & "like '%" & val & "%'"
        End If
    End If
Next
Tables("物料信息").Filter = filter

在字符串的中间不允许使用通配符。例如,不允许 '赫*丰',也不允许 '赫%丰'。

由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:

[型号] Like 'A[*]%'

表示型号以“A*”开头。


 回到顶部