以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态增加的表筛选第个列问题出错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131424) |
-- 作者:nxhylczh -- 发布时间: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”运算符前缺少操作数。
|
-- 作者:有点蓝 -- 发布时间:2019/2/25 21:59:00 -- MessageBox.show(filter),完整的条件显示什么内容 |
-- 作者:nxhylczh -- 发布时间: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 -- 发布时间:2019/2/25 22:10:00 -- 问题估计是出在了数字列中的 %号上了 |
-- 作者:有点蓝 -- 发布时间:2019/2/25 22:30:00 -- 数字列不能like。 其次列名不要使用特殊字符,如果有要使用中括号括起来,如:[数量(单位:KG)_贷方] = 2
|
-- 作者:有点甜 -- 发布时间: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%\' |