Foxtable(狐表)用户栏目专家坐堂 → [求助]无法在 System.Double 和 System.String 上执行“Like”操作。


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

主题:[求助]无法在 System.Double 和 System.String 上执行“Like”操作。

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/18 10:52:00 [显示全部帖子]

如果是数值列,改成红色

 

tbl.Filter = "产品ID Like " & txt & " Or 缺省供应商 Like " & txt & " Or 销售产品ID Like " & txt & " Or 类别 Like " & txt & " Or 品牌 Like " & txt & "  Or 产品图号 Like " & txt & " Or 产品型号 Like " & txt & " Or 参考代号 Like " & txt & " Or 产品图号 Like " & txt & " Or 产品名称 Like " & txt & " Or 产品材料 Like " & txt & " Or 产品规格 Like " & txt & " Or convert(外径, 'System.String') Like " & txt  & " Or 内径 Like " & txt & " Or 高度 Like " & txt & " Or 备注 Like " & txt


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/19 9:53:00 [显示全部帖子]

Dim filter As String = "1=1"
Dim sts() As String = {"产品ID","产品类别","产品名称","产品图号","世源图号","产品材料","产品规格","外径","内径","高度","产品尺寸"}
For Each st As String In sts
    Dim  val As String = e.Form.Controls(st).value
    If val > "" Then
        val = val.Replace("*","[*]")
        If Tables("产品表").cols(st).IsString Then
            filter = filter & " and " & st & " like '*" & val & "*'"
        Else
            filter = filter & " and convert(" & st & ",'System.String') like '*" & val & "*'"
        End If
    End If
Next

Tables("产品表").Filter = filter


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/19 10:53:00 [显示全部帖子]

1、代码写到你窗口的事件去;

 

2、如果还报错,重新打开项目后测试。


 回到顶部