以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  CheckedComboBox 多选项的加载  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73252)

--  作者:阿福
--  发布时间:2015/8/14 21:19:00
--  CheckedComboBox 多选项的加载

Dim ks As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim js As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim gzh As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
Dim ksv As Date = ks.Value
Dim jsv As Date = js.Value
Dim gzh1 As String = gzh.Text
Dim V() As String
V = gzh1.split(",")
Dim f As String 
Dim fs As String
For i As Integer = 0 To V.Length - 1
f = "[公猪编号] = \'" & v(i) & "\'"
fs = fs & "and" & f
Next
Dim filter As String = "[日期] >= \'" & ksv & "\' and [日期]< =\'" & jsv & "\' and [sys_user] = \'" & user.Name & "\'"  & fs
DataTables("采精").LoadOrder = "日期"
DataTables("采精").LoadTop = "14"
DataTables("采精").LoadPage = "0"
DataTables("采精").LoadFilter = filter
DataTables("采精").Load()


请问老师,我想把所有日期符合,[公猪编号] = v(i)都加载下来,可以上面代码,只能加载任何一个v(i),该怎么改?

--  作者:有点蓝
--  发布时间:2015/8/14 21:27:00
--  
试一下替换成下面的代码
Dim fs as String = "1=2"
for i as integer = 0 to v.length -2
  f="[公猪编号]=\'" & v(i) & "\'"
  fs = fs & " Or " & f
next
Dim filter As String = "[日期] >= \'" & ksv & "\' and [日期]< =\'" & jsv & "\' and [sys_user] = \'" & user.Name & "\'"  & " And  (" & fs & ")"
[此贴子已经被作者于2015/8/14 21:28:49编辑过]

--  作者:阿福
--  发布时间:2015/8/14 21:35:00
--  
谢谢“有点蓝”,但还是不行



--  作者:有点蓝
--  发布时间:2015/8/14 21:36:00
--  
你看看输出的filter 是什么
--  作者:有点蓝
--  发布时间:2015/8/14 21:36:00
--  
把所有方括号去掉试一下
--  作者:阿福
--  发布时间:2015/8/14 21:37:00
--  
可以了
for i as integer = 0 to v.length -2
改成
for i as integer = 0 to v.length -1


--  作者:阿福
--  发布时间:2015/8/14 21:50:00
--  
请问老师,

filter = [日期] >= \' 2015-01-01\' and [日期]< =\'2015-07-01\' and [sys_user] = \'张三\'   And  (1 = 2 or [公猪编号]=k2 or [公猪编号]=k2 or [公猪编号]=k3)

这里的1 = 2 是什么意思?


--  作者:有点蓝
--  发布时间:2015/8/14 21:55:00
--  
就是false的意思,因为后面要加 "or" 过滤的时候条件不能直接用 “Or” 开头,免判断的一种方法
--  作者:有点蓝
--  发布时间:2015/8/14 21:57:00
--  
你的fs如果是空的,那你看看filter结果就知道怎么回事了
--  作者:阿福
--  发布时间:2015/8/14 22:11:00
--  
谢谢蓝老师,我懂了