以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- like多值模糊查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148805) |
-- 作者:李孝春 -- 发布时间:2020/4/15 17:10:00 -- like多值模糊查询 If e.DataCol.Name = "发送对象" Then Dim dr As DataRow dr = DataTables("干警信息").SQLFind("身份属性 like \'%" & e.DataRow("发送对象") & "%\' ") MessageBox.Show(("身份属性 like \'%" & e.DataRow("发送对象") & "%\' ")) If dr Is Nothing Then MessageBox.Show("当前发送对象,没有对应身份属性的人员姓名,不生成内容告知表!请核查!","提醒") End If End If 当发送对象选择代表 委员多值后 "身份属性 like \'%" & e.DataRow("发送对象") & "%\' " 弹出的值是 身份属性 like ‘%代表,委员%’ 但是人员信息表中身份属性值是人大代表或政协委员。 上述代码是不是写错了 想实现当发送对象选择值中含有代表或委员字样的 就对应在人员信息表中去把符合的数据全部找出来 实现类似模糊查询
[此贴子已经被作者于2020/4/15 17:13:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/15 17:28:00 -- dim s as string = "1=2 " for each s1 as string in e.DataRow("发送对象").split(",") s = s & " or 身份属性 like ‘%" & s1
& "%\' " next msgbox(s) dr = DataTables("干警信息").SQLFind(s)
|
-- 作者:李孝春 -- 发布时间:2020/4/16 11:25:00 -- 回复:(有点蓝)dim s as string = "1=2 "for each s... 如果我还需要加一个条件 就是所在单位 下面的写法貌似不对 提示错误 DataTables("干警信息").SQLFind(s And "所在单位= \'" & _usergroup & "\' ")
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 11:35:00 -- DataTables("干警信息").SQLFind("(" & s & ") And 所在单位= \'" & _usergroup & "\' ") |
-- 作者:李孝春 -- 发布时间:2020/4/16 14:36:00 -- 回复:(有点蓝)DataTables("干警信息").SQLFind("("... 谢谢有点蓝老师 如果我进一步采用sql语句的写法 代码运行后提示 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.1.19.19 错误所在事件:加载[干警信息]失败! 详细错误信息: \' \' 附近有语法错误。 字符串 \' \' 后的引号不完整。 代码如下: Dim cmb As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1") Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.StopRedraw() \'暂停绘制 lvw.View = ViewMode.SmallIcon lvw.CheckBoxes = True lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() Dim s As String = "1=2 " For Each s1 As String In cmb.text.split(",") s = s & " or 身份属性 like \'%" & s1 & "%\' " Next msgbox(s) Dim sql As String sql = "Sele ct * From {干警信息} where 所在单位=\'"& _UserGroup & " And " & s & "" \'MessageBox.Show(sql) \'MessageBox.Show(_UserGroup) DataTables("干警信息").SQ LLoad(sql) For Each dr As DataRow In DataTables("干警信息").DataRows \'从数据表中提取数据 Dim r As WinForm.ListViewRow = lvw.Rows.Add() \'增加一行 r.Text = dr("姓名") \'指定行的标题 r.Name = r.Text \'将行的名称设置为标题,也就是国家 Next lvw.ResumeRedraw() \'恢复绘制 如果红色部分更改为 DataTables("干警信息").SQLLoad("(" & s & ") And 所在单位= \'" & _usergroup & "\' ") 运行会提示出错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.1.19.19 错误所在事件:加载[干警信息]失败! 详细错误信息: \'1\' 附近有语法错误。 [此贴子已经被作者于2020/4/16 14:40:55编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 15:50:00 -- msgbox(s)弹出什么内容? |
-- 作者:李孝春 -- 发布时间:2020/4/16 16:00:00 -- 回复:(有点蓝)msgbox(s)弹出什么内容? 如图 运行会提示出错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.1.19.19 错误所在事件:加载[干警信息]失败! 详细错误信息: \'1\' 附近有语法错误。 [此贴子已经被作者于2020/4/16 16:00:20编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 16:27:00 -- sqlload要写完整的sql:http://www.foxtable.com/webhelp/topics/2721.htm,不经常用都忘了 或者 DataTables("干警信息").Loadfilter = "(" & s & ") And 所在单位= \'" & _usergroup & "\' " DataTables("干警信息").Load
|
-- 作者:李孝春 -- 发布时间:2020/4/16 16:59:00 -- 回复:(有点蓝)sqlload要写完整的sql:http://www.f... 有点蓝 老师 是这样么?这样写 错误提示 和楼上一样 Dim s As String = "1=2 " For Each s1 As String In cmb.text.split(",") s = s & " or 身份属性 like \'%" & s1 & "%\' " Next \'msgbox(s) Dim sql As String sql = "Sel ect * From {干警信息} where 所在单位=\'"& _UserGroup & "\'" sql= sql & s DataTables("干警信息").SQL Load(sql)
[此贴子已经被作者于2020/4/16 17:02:40编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 17:13:00 -- sql = "Select * From {干警信息} where (" & s & ") And 所在单位= \'" & _usergroup & "\' " DataTables("干警信息").SQL Load(sql)
|