以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  修改代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105004)

--  作者:jick0526
--  发布时间:2017/8/10 2:43:00
--  修改代码
老师,请问下,下面这段代码如果改成SQL的后台筛选,该怎么改代码,谢谢!
With CurrentTable
   CurrentTable .Filter = "convert(" & .Cols(.ColSel).name & ",\'System.String\') Like \'%" & e.ComboBox.Text & "%\'"
End With

--  作者:有点甜
--  发布时间:2017/8/10 9:15:00
--  

如果是access数据库,这样写

 

Dim cname As String = CurrentTable.Cols(CurrentTable.ColSel).name
CurrentTable.DataTable.loadFilter = "cstr(iif(" & cname & " is null, \'\', " & cname & ")) Like \'%" & e.ComboBox.Text  & "%\'"
msgbox(CurrentTable.DataTable.loadfilter)
CurrentTable.DataTable.load


--  作者:有点甜
--  发布时间:2017/8/10 9:17:00
--  

如果是sqlserver

 

Dim cname As String = CurrentTable.Cols(CurrentTable.ColSel).name
CurrentTable.DataTable.loadFilter = "convert(varchar, isnull(" & cname & ", \'\')) Like \'%" & e.ComboBox.Text & "%\'"
msgbox(CurrentTable.DataTable.loadfilter)
CurrentTable.DataTable.load


--  作者:jick0526
--  发布时间:2017/8/10 19:13:00
--  
老师,上面的sqlserver的代码,我放入后,在输入框里面只要一输入数字就回跳出这个提示框,比如我要筛选1899,输入框里刚输入1就跳出这个提示框了,然后要点确定,在输入8再点确定,要连着点四次确定,才会筛选出来,有没有办法不会出现这个提示框直接跳出数据,谢谢!
图片点击可在新窗口打开查看此主题相关图片如下:999.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2017/8/10 23:44:00
--  

呃,你把这句代码删除 msgbox(CurrentTable.DataTable.loadfilter)