Foxtable(狐表)用户栏目专家坐堂 → filter 两个条件同时符合,该怎么写


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

主题:filter 两个条件同时符合,该怎么写

帅哥哟,离线,有人找我吗?
淡月斜阳
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
filter 两个条件同时符合,该怎么写  发帖心情 Post By:2018/9/25 10:33:00 [显示全部帖子]

条件字符串通过,dropdownform生成如:
PC000001|1号,PC000001|2号,PC000002|3号,PC000002|4号,PC000003|1号,PC000003|2号

查询代码如:
Dim tb As WinForm.Table = e.Form.Controls("Table1")
Dim b As New SQLCrossTableBuilder("统计表1","生产数据总查表")
b.C
b.HGroups.AddDef("日龄")
b.VGroups.AddDef("批次号")
b.VGroups.AddDef("舍号")
b.Totals.AddDef("采食")
b.Totals.AddDef("死淘_合计")
b.Filter= "舍号='1号'"
b.OrderByTotal=True
tb.Table.DataSource =  b.BuildDataSource

怎么写filter:(批次号 = PC000001 且舍号=1号) 或 (批次号=PC000001 and 舍号=2号) 或  (批次号=PC000003 and 舍号=1号)

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2018/9/25 10:49:00 [显示全部帖子]

Dim str As String = "PC000001|1号,PC000001|2号,PC000002|3号,PC000002|4号,PC000003|1号,PC000003|2号"
Dim fx1() As String = str.Split(",")
Dim fil As String
For Each s As String In fx1
    Dim fx2() As String = s.Split("|")
    fil =fil & "or (批次号='" & fx2(0) & "' And 舍号='" & fx2(1) & "') "
Next
fil=fil.TrimStart("o","r"," ")
Output.Show(fil)

结果如下:
(批次号='PC000001' And 舍号='1号') or (批次号='PC000001' And 舍号='2号') or (批次号='PC000002' And 舍号='3号') or (批次号='PC000002' And 舍号='4号') or (批次号='PC000003' And 舍号='1号') or (批次号='PC000003' And 舍号='2号') 


我是想问问,看有没有更简单的办法

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2018/9/25 12:11:00 [显示全部帖子]

图片点击可在新窗口打开查看原来这么简单。搞复杂了

 回到顶部