Foxtable(狐表)用户栏目专家坐堂 → 【救助】关于筛选


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

主题:【救助】关于筛选

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


加好友 发短信
等级:婴狐 帖子:24 积分:329 威望:0 精华:0 注册:2016/6/2 19:10:00
【救助】关于筛选  发帖心情 Post By:2016/7/30 16:05:00 [只看该作者]

没办法贴图,只 能传代码上来图片点击可在新窗口打开查看图片点击可在新窗口打开查看

Dim tj As WinForm.TextBox = e.Form.Controls("txtb_tiaojian")
Dim xx As WinForm.ComboBox = e.Form.Controls("comb_xuangxiang")
Dim JQ As WinForm.CheckBox = e.Form.Controls("CheckBox_jingque")
Dim KC As WinForm.CheckBox = e.Form.Controls("CheckBox_KC")
Dim fil As String

If e.Form.Controls("txtb_tiaojian").value IsNot Nothing Then
    If JQ.Checked = True Then
        If KC.Checked = True Then
            fil = xx.Value & " = '" & tj.Value & "' And 数量 > 0 "
        Else
            fil = xx.Value & " = '" & tj.Value & " ' "
        End If
    Else
        If KC.Checked = True Then
            fil = xx.Value  & " Like '*" & tj.Value & "*' And 数量 > 0 "
        Else
            fil = xx.Value  & " Like '*" & tj.Value & "*'"
        End If
    End If
    ' MessageBox.Show(fil)

就是红色字体代码出错,求高手指教。

只要字符串中含有*号且后面还有字符,就出错,比如1100*1100


.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2012.11.29.1
错误所在事件:
详细错误信息:
System.Data.EvaluateException: Like 运算符中出错: 字符串模式“*1100*1100*”无效。
   在 System.Data.LikeNode.AnalyzePattern(String pat)
   在 System.Data.LikeNode.Eval(DataRow row, DataRowVersion version)
   在 System.Data.BinaryNode.Eval(ExpressionNode expr, DataRow row, DataRowVersion version, Int32[] recordNos)
   在 System.Data.BinaryNode.EvalBinaryOp(Int32 op, ExpressionNode left, ExpressionNode right, DataRow row, DataRowVersion version, Int32[] recordNos)
   在 System.Data.BinaryNode.Eval(DataRow row, DataRowVersion version)
   在 System.Data.Select.AcceptRecord(Int32 record)
   在 System.Data.Select.GetLinearFilteredRows(Range range)
   在 System.Data.Select.SelectRows()
   在 System.Data.DataTable.Select(String filterExpression)
   在 Foxtable.Class35.set_Filter(String value)
[此贴子已经被作者于2016/7/30 16:08:15编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/7/30 16:24:00 [只看该作者]

If KC.Checked = True Then
    fil = xx.Value  & " Like '%" & tj.Value & "%' And 数量 > 0 "
Else
    fil = xx.Value  & " Like '%" & tj.Value & "%'"
End If

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


加好友 发短信
等级:婴狐 帖子:24 积分:329 威望:0 精华:0 注册:2016/6/2 19:10:00
  发帖心情 Post By:2016/8/6 11:54:00 [只看该作者]

Like 运算符中出错: 字符串模式“%110*110%”无效。


NET Framework 版本:2.0.50727.5485
Foxtable 版本:2012.11.29.1
错误所在事件:
详细错误信息:
System.Data.EvaluateException: Like 运算符中出错: 字符串模式“%110*110%”无效。
   在 System.Data.LikeNode.AnalyzePattern(String pat)
   在 System.Data.LikeNode.Eval(DataRow row, DataRowVersion version)
   在 System.Data.BinaryNode.Eval(ExpressionNode expr, DataRow row, DataRowVersion version, Int32[] recordNos)



用%%也不行,不知有什么方法!还有不 知是哪出错了
[此贴子已经被作者于2016/8/6 11:59:47编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/6 14:21:00 [只看该作者]

在什么地方用的,完整代码贴出来

用在Tables("A").Filter是没有问题的

 回到顶部