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


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

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

帅哥哟,离线,有人找我吗?
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

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

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

谢谢!!

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

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

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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 

最后这句不会写。请教。

 回到顶部
帅哥哟,离线,有人找我吗?
jq_shang
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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"



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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 19:51:00 [显示全部帖子]

谢谢蓝版主,元宵节快乐!

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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 20:29:00 [显示全部帖子]

蓝版主,最后一句还是测试不成功,出错误提示。

Tables("员工表").Filter = "[部门ID] = " & 28 & " and 培训号 in (" & xyid & ")"
我分开来测试:
Tables("员工表").Filter = " 学员号 in (" & xyid & ")"

提示错误信息如下:
.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.12.31.1
错误所在事件:
详细错误信息:
未找到列 [ymjttygs023]。
注:ymjttygs023 是第一个学员的ID


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


加好友 发短信
等级:童狐 帖子:217 积分:1646 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2018/3/3 20:34:00 [显示全部帖子]

Tables("员工表").Filter =  "' & 培训号 & ' In (" & xyid & ")"
改成这样,错误提示一样。

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