以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 查询有更简单的办法吗 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=87963) |
-- 作者:huhu -- 发布时间:2016/7/23 16:08:00 -- 查询有更简单的办法吗 Dim ddh As WinForm.ComboBox = e.Form.Controls("ComboBox7") Dim ddhh As WinForm.ComboBox = e.Form.Controls("ComboBox8") Dim startdd As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1") Dim enddd As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2") 组合查询有没有代码简单点的写法。datatables("A").loadfilter = "" 我现在做的需要判断好多次,比如ddh.text = ""情况下,ddhh <> "" 然后加载。 我这么写需要把各种情况都要写出了,感觉很不满意。 有没有随便选择每个控件的值,自动去判断其他控件的值是否为空,然后把不为空的值作为条件来查询。 |
-- 作者:rjh4078 -- 发布时间:2016/7/23 16:15:00 -- 用iif函数拼接条件 比如: loderfilter=iif(e.form.controls("txt1").value<>"","产品=\'" & .form.controls("txt1").value & ”’“,"产品 is not null")& 下一个条件 |
-- 作者:huhu -- 发布时间:2016/7/23 16:33:00 -- 回复2楼。 这样也应该判断多次吧。 可不可以对多个控件循环判断,比如发现有3个控件的值不为空,就把这3个控件作为条件,然后查询。
|
-- 作者:Hyphen -- 发布时间:2016/7/23 16:40:00 -- 动态查询条件肯定要逐个判断,没有办法的。除非条件个数是固定的 |
-- 作者:huhu -- 发布时间:2016/7/23 16:58:00 -- 控件个数是固定的,这样可以实现不? |
-- 作者:狐狸爸爸 -- 发布时间:2016/7/24 7:34:00 -- Dim Filter As String Dim cls() as String = ("列1","列2","列3") Dim ops() AS string = ("=" ,"=",">") dim nms() as string = {"TextBox1","TextBox2","TextBox3"} for i as integer = 0 to nms.length -1 if e.form.Controls(nm).Value is not nothing then if filter > "" then filtter = filter & " And " end if dim prefix as string = "" if datatables("表名").DataCols(cls(i)).Isdate then prefix = "#" elsieif datatables("表名").DataCols(cls(i)).IsString then prefix = “‘” end if filter = filter & cls(i) & ops(i) & prefix & e.form.Controls(nm).Value & prefix end if next 。。。。 |
-- 作者:大红袍 -- 发布时间:2016/7/24 10:07:00 -- mark 查询条件
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=87099&skin=0
|