Foxtable(狐表)用户栏目专家坐堂 → [求助]“in”在MainTableChanged事件中被过分要求


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

主题:[求助]“in”在MainTableChanged事件中被过分要求

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
[求助]“in”在MainTableChanged事件中被过分要求  发帖心情 Post By:2013/8/21 16:19:00 [只看该作者]

对于下列代码,因_usergroup中不含“,”,在MainTableChanged事件中就会出错,要求_usergroup必须含有逗号。

 

Dim _usergroup As String = "'西北院'"
Dim Names As List(Of String)
Names = Tables("人员管理").DataTable.GetUniqueValues("[部门名称] in (" & _usergroup & ")" , "员工姓名")

 

于是只能增加if语句。但考虑到_usergroup中已经含有单引号,所以还要先去掉。能通过的代码如下:

 

Dim Names As List(Of String)
If _usergroup = "'西北院'" Then
    Names = Tables("人员管理").DataTable.GetUniqueValues("[机关] = '是'","员工姓名")
Else
    If _usergroup Like "*,*" Then
        Names = Tables("人员管理").DataTable.GetUniqueValues("[部门名称] in (" & _usergroup & ")" , "员工姓名")
    Else
        Names = Tables("人员管理").DataTable.GetUniqueValues("[部门名称] = '" & _usergroup.trim("'") & "'" , "员工姓名")
    End If
End If

 

请狐爸核实!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/21 16:23:00 [只看该作者]

GetUniqueValues("[部门名称] in ('" & _usergroup & "')"  需要有单引号包括在内

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2013/8/21 22:43:00 [只看该作者]

2楼理解错了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/21 23:02:00 [只看该作者]

我测试一个也是可以的啊。下面这句肯定没错的。

Tables("人员管理").DataTable.GetUniqueValues("[部门名称] in ('xxxxxx')" , "员工姓名")

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


加好友 发短信
等级:小狐 帖子:321 积分:2468 威望:0 精华:2 注册:2013/1/16 19:33:00
  发帖心情 Post By:2013/8/22 0:19:00 [只看该作者]

a in b b 是一个集合,你先确认构造出来的_usergroup是集合

 回到顶部