以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]execl报表指定列不重复计数  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129806)

--  作者:天一生水
--  发布时间:2019/1/6 22:58:00
--  [求助]execl报表指定列不重复计数
比如,下图不重复计数结果为3:

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片1.jpg
图片点击可在新窗口打开查看

下图模板红框中的公式怎么写?
谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看




--  作者:有点甜
--  发布时间:2019/1/6 23:14:00
--  

这种情况,你需要用标记处理,如

 

http://www.foxtable.com/webhelp/scr/1959.htm

 


--  作者:天一生水
--  发布时间:2019/1/7 10:44:00
--  
红色框计数错误,应该是1,请老师帮助看一下,谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:jg.jpg
图片点击可在新窗口打开查看

代码如下:
1、按钮代码:
Dim Book As New XLS.Book(ProjectPath & "Attachments\\串案分配表.xls")
Dim fl As String = ProjectPath & "Reports\\串案分配表.xls"
Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()

2、BeforeBuild代码:
Select Case e.Book.TempLate
    Case "串案分配表"
        e.Book.Marks.Add("串案次数", 0)
End Select

3、BuildGroupFooter代码:
Select Case e.Book.TempLate
    Case "串案分配表"
        Dim cnt As Integer = Tables("串案管理_Table1").DataTable.GetValues("串案标记",Tables("串案管理_Table1").Filter).Count
        e.Book.Marks("串案次数") = cnt
End Select
--------------
数据样式:

图片点击可在新窗口打开查看此主题相关图片如下:截屏图片.jpg
图片点击可在新窗口打开查看

模板样式:

图片点击可在新窗口打开查看此主题相关图片如下:mb.jpg
图片点击可在新窗口打开查看



--  作者:有点甜
--  发布时间:2019/1/7 11:27:00
--  

改成比如


Select Case e.Book.TempLate
    Case "串案分配表"
        Dim ls As new List(of String)
        For Each r As Row In Tables("串案管理_Table1").Rows
            If ls.Contains(r("串案标记")) = False Then
                ls.add(r("串案标记"))
            End If
        Next
        e.Book.Marks("串案次数") = ls.count
End Select


--  作者:天一生水
--  发布时间:2019/1/7 11:54:00
--  
还不行,我做个例子,麻烦老师看一下。
谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试不重复.rar



--  作者:有点甜
--  发布时间:2019/1/7 12:12:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试不重复.rar