Foxtable(狐表)用户栏目专家坐堂 → 如何生成一对多表的筛选条件?


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

主题:如何生成一对多表的筛选条件?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
如何生成一对多表的筛选条件?  发帖心情 Post By:2021/3/8 17:21:00 [只看该作者]

 表1 和表2为1对多关系,表2和表3为1对多。

  如何获取 张三 对应的所有角色的某个业务需要的筛选条件啊?

即:拼接以下条件,(部门=‘行政部’ and (角色=‘工程师’ or 角色=‘资料员’) )  or (部门='财务部' and (角色='前台') )



         1

人员ID

姓名

密码

101

张三

123

102

李四

456

 

 

 

 

          2

ID

关联人员ID

部门

1

101

行政部

2

101

财务部

 

 

 

 

         3

关联部门ID

角色

1

工程师

1

资料员

2

前台


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


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

要对哪个表做筛选?

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


加好友 发短信
等级:四尾狐 帖子:896 积分:7535 威望:0 精华:0 注册:2017/12/27 14:19:00
  发帖心情 Post By:2021/3/8 17:51:00 [只看该作者]

是表4。主要想根据用户信息,很方便的生成筛选条件啊,以便供表4使用啊。 表4的字段有,部门 ,角色 及其他字段。是要筛选出当前用户,例如筛选出 张三 对应所有部门及部门对应角色的所有行。

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


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

dim dr as datarow = datatables("表1").find("姓名='张三'")
if dr isnot nothing then
dim s1 as string = DataTables("表2").GetComboListString("部门","关联人员ID = '" & dr("人员ID") & "'")
dim s2 as string = DataTables("表2").GetComboListString("ID","关联人员ID = '" & dr("人员ID") & "'")

dim s3 as string = DataTables("表3").GetComboListString("角色","关联部门ID in ('" & s2.replace("|","','") & "')")
Tables("表3").Filter = "部门 in ('" & s1.replace("|","','") & "') or 角色 in ('" & s3.replace("|","','") & "')"
end if


 回到顶部