Foxtable(狐表)用户栏目专家坐堂 → 动态增加的表筛选第个列问题出错


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

主题:动态增加的表筛选第个列问题出错

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


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
动态增加的表筛选第个列问题出错  发帖心情 Post By:2019/2/25 21:21:00 [只看该作者]

If CurrentTable.Name.StartsWith("查看账页") Then
    MessageBox.show("1")
    If CurrentTable.Focus Then
    Dim txtsx As WinForm.TextBox = e.Form.Controls("txtsx")
    Dim T1 As Table =CurrentTable
    Dim txt As String ="%" & Functions.Execute("RealStr",txtsx.text )  & "%"
    Dim Filter As String '="分组_编码 like " & txt & " or 分组_名称 like " & txt & " Or 计量单位 Like " & txt
    For i As Integer=0 To t1.Cols.Count-1
        If t1.Cols(i).IsString Then
            Filter=filter & t1.cols(i).Name & " like '" & txt & "' Or "
        Else If t1.cols(i).IsNumeric Then
            Filter=filter & t1.cols(i).Name & " = " & txt & " Or "
        End If
        
    Next
    Filter=left(Filter,filter.Length-3)
    'MessageBox.show(filter)
    t1.Filter= Filter
    End If
End If
表格样式 

出错代码:.NET Framework 版本:2.0.50727.8800
Foxtable 版本:2018.10.9.1
错误所在事件:
详细错误信息:
语法错误:“Mod”运算符前缺少操作数。

图片点击可在新窗口打开查看此主题相关图片如下:l(zv8gbk3@rabjs3{{aqsv.png
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107959 积分:549176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/25 21:59:00 [只看该作者]

MessageBox.show(filter),完整的条件显示什么内容

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


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/2/25 22:06:00 [只看该作者]

当我在TextBox里输入2
期间_年 = %2% Or 期间_月 = %2% Or 期间_日 = %2% Or 凭证_字 like '%2%' Or 凭证_号 = %2% Or 摘要 like '%2%' Or 数量(单位:KG)_借方 = %2% Or 数量(单位:KG)_贷方 = %2% Or 数量(单位:KG)_借贷 like '%2%' Or 数量(单位:KG)_结存 = %2% Or 单价 = %2% Or 美元金额_借方 = %2% Or 美元金额_贷方 = %2% Or 美元金额_借贷 like '%2%' Or 美元金额_余额 = %2% Or 汇率 = %2% Or 人民币金额_借方 = %2% Or 人民币金额_贷方 = %2% Or 人民币金额_借贷 like '%2%' Or 人民币金额_余额 = %2% 
---------------------------
确定   
---------------------------


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


加好友 发短信
等级:小狐 帖子:335 积分:2674 威望:0 精华:0 注册:2018/11/22 9:19:00
  发帖心情 Post By:2019/2/25 22:10:00 [只看该作者]

问题估计是出在了数字列中的 %号上了

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107959 积分:549176 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/2/25 22:30:00 [只看该作者]

数字列不能like。

其次列名不要使用特殊字符,如果有要使用中括号括起来,如:[数量(单位:KG)_贷方]  = 2

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/2/26 9:13:00 [只看该作者]

1、条件要这样写

 

期间_年 = '%2%' Or 期间_月 = '%2%' Or 期间_日 = '%2%'

 

也就是 Dim txt As String ="%" & Functions.Execute("RealStr",txtsx.text )  & "%"

 

要改成 Dim txt As String ="'%" & Functions.Execute("RealStr",txtsx.text )  & "%'"

 

2、如果是数值列,想用like,可以这样写,如 convert(数值列, 'System.String') like '%2%'


 回到顶部