Foxtable(狐表)用户栏目专家坐堂 → [求助]多条件计算


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

主题:[求助]多条件计算

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


加好友 发短信
等级:二尾狐 帖子:546 积分:4931 威望:0 精华:0 注册:2017/4/20 11:08:00
[求助]多条件计算  发帖心情 Post By:2021/10/4 19:13:00 [只看该作者]

老师好!

请教一下,关于目录树计算显示表符合条件的行数
计算代码:
     tr.text = "所有生产单(" & DataTables("看板生产单").SQLCompute("count(归属部门)")  & ")"
                 需求:   ''需要计算《看板生产单》表  "归属部门" 列 包含 《权限管理》表 "可查看哪些部门数据"列 里面包含的 '部门'(多值字段)
                Else
                    If tr.name = "false" Then
                        tr.text = "未结单(" & DataTables("看板生产单").SQLCompute("count(归属部门)","生产进度 = 0") & ")"
                 需求:     ''需要增加条件计算《看板生产单》表  "归属部门" 列 包含 《权限管理》表 "可查看哪些部门数据"列 里面包含的 '部门'(多值字段)
                        
                    ElseIf tr.name = "true" Then
                        tr.text = "已结单(" & DataTables("看板生产单").SQLCompute("count(归属部门)","生产进度 = 1") & ")"
                 需求:    ''需要增加条件计算《看板生产单》表  "归属部门" 列 包含 《权限管理》表 "可查看哪些部门数据"列 里面包含的 '部门'(多值字段)





按钮全部代码:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树条件计算.txt



谢谢老师!


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


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

《看板生产单》表  "归属部门" 列是多值字段?还是《权限管理》表 "可查看哪些部门数据"列是多值字段?如果起其中一个是多值字段可以处理;如果2个都是,没有办法在这里使用表达式条件处理

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


加好友 发短信
等级:二尾狐 帖子:546 积分:4931 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2021/10/4 20:28:00 [只看该作者]

谢谢蓝老师,是《权限管理》表 "可查看哪些部门数据"列是多值字段(多选的列名,中间间隔符号,),《看板生产单》表  "归属部门" 列是正常的字段


图片点击可在新窗口打开查看此主题相关图片如下:表区分.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2021/10/4 20:32:20编辑过]

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


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

要使用sql处理:http://www.foxtable.com/webhelp/topics/0696.htm

dim sql as string = "select count(归属部门) from 看板生产单 where 生产进度 = 0 and exists (select * from 权限管理 as a where ',' + a.可查看哪些部门数据 + ',' like '%,' + [归属部门] + ',%' 用户名 ='" & _UserName & "' and 表名  = '看板生产单')"
Dim val As Integer
Dim
 cmd As New SQLCommand
cmd.ConnectionName = "数据源名称"
cmd.CommandText = 
sql 
val = cmd.ExecuteScalar()
msgbox(val)

 回到顶部