Foxtable(狐表)用户栏目专家坐堂 → [求助]模糊查询


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

主题:[求助]模糊查询

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]模糊查询  发帖心情 Post By:2020/10/21 6:12:00 [只看该作者]

老师,下面代码怎样修改。

'生成可见的列名称  窗口模糊查询
Dim Cols,Vals As New List(of String)
Dim flt As String = "1=1"
For Each c As Col In Args(0).Cols
    If c.Visible = True
        cols.add(c.name)
    End If
Next
'生成查询条件
Vals.AddRange(Args(1).Replace("'","''").Replace("*","[*]").Split(","))  '查询值列表并保证其有效
Dim i As Integer = 0
For Each Val As String In Vals
    
    Dim temp As String = ""
    For Each c As String In Cols
        temp = temp & " Convert(" & c & ",'System.String') like '%" & Val & "%' Or"
    Next
    flt = flt & " and ("& temp.SubString(0, temp.length-3) & ")"
Next
Return flt




.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.4.22.1
错误所在事件:
详细错误信息:
表达式包含未定义的函数调用 金额()。



图片点击可在新窗口打开查看此主题相关图片如下:image 3.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/10/21 6:14:14编辑过]

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


加好友 发短信
等级:超级版主 帖子:110744 积分:563646 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/10/21 8:31:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm
……
    flt = flt & " and ("& temp.SubString(0, temp.length-3) & ")"
Next
msgbox(flt)
Return flt

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


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/10/22 5:29:00 [只看该作者]

老师,带括号的”金额()”列 怎样处理。



.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.4.22.1
错误所在事件:
详细错误信息:
表达式包含未定义的函数调用 金额()。


'生成可见的列名称  窗口模糊查询
Dim Cols,Vals As New List(of String)
Dim flt As String = "1=1"
For Each c As Col In Args(0).Cols
    If c.Visible = True
        cols.add(c.name)
    End If
Next
'生成查询条件
Vals.AddRange(Args(1).Replace("'","''").Replace("*","[*]").Split(","))  '查询值列表并保证其有效
Dim i As Integer = 0
For Each Val As String In Vals
    
    Dim temp As String = ""
    For Each c As String In Cols
        temp = temp & " Convert(" & c & ",'System.String') like '%" & Val & "%' Or"
    Next
flt = flt & " and ("& temp.SubString(0, temp.length-3) & ")"
Next
'msgbox(flt)
Return flt


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


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

列名不要使用特殊符号,建议放到列标题里

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1765 积分:11811 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2020/10/22 10:52:00 [只看该作者]

好的,谢谢老师。

 回到顶部