Foxtable(狐表)用户栏目专家坐堂 → 请教,筛选语句中的逻辑判断条件怎么写?


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

主题:请教,筛选语句中的逻辑判断条件怎么写?

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
请教,筛选语句中的逻辑判断条件怎么写?  发帖心情 Post By:2018/3/3 14:11:00 [只看该作者]

Tables("员工表").Filter = "[部门ID] = " & 28 And xyjh.Contains("ymjttygs023") = True

请教,后面这个筛选条件的正确写法是什么?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/3 14:24:00 [只看该作者]

Tables("员工表").Filter = "[部门ID] = " & 28 & " And xyjh like '%ymjttygs023%'"

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 14:38:00 [只看该作者]

Tables("员工表").Filter = "[部门ID] = " & 28
Tables("员工表").Filter = "xyjh.Contains('" & [学员号] & "')" = True 

也不对

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 14:38:00 [只看该作者]

谢谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/3 14:38:00 [只看该作者]

xyjh是什么东西?

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 14:39:00 [只看该作者]

'设置员工表加载条件,第一个筛选条件,是部门;第二个筛选条件是:去除当班学员表中已有的学员.现在先提取第二个筛选条件字符串.
Dim bcxy As String
bcxy = Tables("培训班次").Current("kid") '这里对培训班次表当前行即当前培训班次的kid进行取值,写入字符串bcxy
output.show(bcxy)
Tables("学员表").Filter = "[班次编码] = '" & bcxy & "'" '在这个表达式上,经常犯错误.bcft是一个动态提取的字符串.如果是整数型,这样写:filter = "[班次编码] = " & bcft____整数型
'以上,先对学员表进行了一次筛选,列出的是培训班次当前行,即当前培训班次中的所有学员.


Dim xyid As String
output.show(Tables("学员表").Rows.Count)
If Tables("学员表").Rows.Count > 0
For Each dr As Row In Tables("学员表").Rows
xyid = xyid & "," & dr("培训号")
Next
End If
output.show(xyid) '得到一个全部培训号连起来的字符串
xyid = xyid.Trim(",") '去掉字符串前面的第一个逗号
output.show(xyid)

Dim xyids() As String
xyids = xyid.Split(",") '得到一个本班已有学员的培训号数组xyids()
output.show(xyids(0))

Dim xyjh As new List(of String)
xyjh.AddRange(xyids) '得到一个本班已有学员的培训号集合xyjh,以后可以用contains语句来判断是否属于本集合中
'output.show(xyjh.count)
'If xyjh.Contains("ymjttygs023") = True
'output.show("您好")
'End If

'以下语句用来写出员工表筛选的第二个条件
'Dim bm As Integer
'Dim bmdr As DataRow = e.Node.DataRow '获取生成此节点的行
'bm = bmdr("id")
Tables("员工表").Filter = "[部门ID] = " & 28
Tables("员工表").Filter = "xyjh.Contains('" & [学员号] & "')" = True 

最后这句不会写。请教。




 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 14:47:00 [只看该作者]

xyjh 是学员表中提取出来的学员培训号字符集合。

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 14:48:00 [只看该作者]

Tables("员工表").Filter = "[部门ID] = " & bm
Tables("员工表").Filter = "xyjh.Contains('" & [学员号] & "')" = True 

最后这句不会写。请教。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/3 14:58:00 [只看该作者]

Dim xyid As String 
output.show(Tables("学员表").Rows.Count)
If Tables("学员表").Rows.Count > 0
    For Each dr As Row In Tables("学员表").Rows
        xyid = xyid & ",'" & dr("培训号") & "'"
    Next
End If
output.show(xyid) '得到一个全部培训号连起来的字符串
xyid = xyid.Trim(",") '去掉字符串前面的第一个逗号
output.show(xyid)

Tables("员工表").Filter = "[部门ID] = " & 28 & " and 学员号 in (" & xyid & ")"


 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 15:28:00 [只看该作者]

谢谢!
我想表达的真实意图是学员号不在那个集合中,能不能写成:
Tables("员工表").Filter = "[部门ID] = " & 28 & " and 学员号 in (" & xyid & ") = false"



 回到顶部
总数 15 1 2 下一页