以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 在窗口中的另类统计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=151761) |
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 21:15:00 -- 在窗口中的另类统计 老师,我想在窗口中实现另类的级联后的统计,代码不知道怎么写,如图: |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/2 21:19:00 -- 请上传实例 |
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 21:58:00 -- ![]() ![]() 要求:先按主机号和回路号进行级联筛选后,点击“编码表”按钮,则弹出一个表,每种设备占用哪些一次码,并统计出个数。 [此贴子已经被作者于2020/7/2 22:07:17编辑过]
|
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 21:59:00 -- 老师,我的文件太大了,怎么上传呢?我的实例两种相似! [此贴子已经被作者于2020/7/2 22:00:04编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/7/2 22:13:00 -- 把1楼这个表部分数据导出发上来 |
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 22:22:00 -- 在窗口中的另类统计 一楼的表没保存,所以传了我的另一项目的表
[此贴子已经被作者于2020/7/2 22:24:24编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2020/7/2 22:28:00 -- 要什么效果?举2个例子 |
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 22:36:00 -- 在窗口中的另类统计 要求:先按主机号和回路号进行级联筛选后,点击“编码表”按钮,则弹出一个表,每种设备占用哪些一次码,并统计出个数。 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/2 22:57:00 -- For Each s() As String In DataTables("报警设备定义").GetValues("主机号|回路号") Output.Show(s(0) & "-" & s(1)) Dim str As String Dim p As List(Of String) = DataTables("报警设备定义").GetValues("一次码","主机号=\'" & s(0) & "\' And 回路号=\'" & s(1) & "\'") If p.Count = 0 Then Continue For str = p(0) Dim p0 As Integer = val(p(0)) Dim sum As Integer = 1 For i As Integer = 1 To p.Count - 1 If val(p(i)) = p0+1 sum = sum + 1 Else If sum = 1 Then str = str & "(1)," & p(i) Else str = str & "-" & p(i-1) & "(" & sum & ")," & p(i) End If sum = 1 End If p0 = val(p(i)) Next If sum = 1 Then str = str & "(1)," & p(p.Count - 1) Else str = str & "-" & p(p.Count - 1) & "(" & sum & ")" End If Output.Show(str) Next |
||||
-- 作者:0855yangjing -- 发布时间:2020/7/2 23:18:00 -- 在窗口中的另类统计 ![]() ![]() |