以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113226)

--  作者:nxqtxwz
--  发布时间:2018/1/11 14:38:00
--  统计
老师您好,表中有很多列,每条记录对应的列的内容都是优秀、良好、合格、不合格这些等级,想设置四个列,分别统计每条记录的优秀、良好、合格、不合格的次数,请问代码怎么写呢。
--  作者:有点甜
--  发布时间:2018/1/11 14:57:00
--  

交叉统计?

 

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

 


--  作者:nxqtxwz
--  发布时间:2018/1/11 15:29:00
--  

老师您好,这个例子解决不了问题啊。


--  作者:有点甜
--  发布时间:2018/1/11 16:08:00
--  

参考

 

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

 

不会做请上传实例


--  作者:nxqtxwz
--  发布时间:2018/1/12 9:38:00
--  
比如年度考核,众2000年到2017年,每年一列,行呢就是每个职工一行,我想设一个统计列,将每个人的优秀次数统计出来写在相应的单元格内,请问怎么做?
--  作者:有点甜
--  发布时间:2018/1/12 9:42:00
--  
以下是引用nxqtxwz在2018/1/12 9:38:00的发言:
比如年度考核,众2000年到2017年,每年一列,行呢就是每个职工一行,我想设一个统计列,将每个人的优秀次数统计出来写在相应的单元格内,请问怎么做?

 

交叉统计

 

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

 

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

 

不会做请上传实例


--  作者:nxqtxwz
--  发布时间:2018/1/14 11:43:00
--  

 

老师,就是这个意思。统计每个记录的优秀、良好、合格次数并写在相应格内,代码怎么写呢。

  姓名 

  2010 

   2011

  2013 

   2014

   2015

 ..

  .. 

   ..

   

   

   

   

   

   

   

   

  优秀 

  良好 

  合格 

   张三

   优秀

   合格

   优秀

   优秀

   良好

   

   

   

   

   

   

   

   

   

   

   

   (将统计次数填写在这里)

  (同前) 

   

   李四

   良好

   良好

   不合格

   良好

   优秀

   

   

   

   

   

   

   

   

   

   

   

   同上

   

   

   王五

   合格

   优秀

   良好

   优秀

   优秀

   

   

   

   

   

   

   

   

   

   

   

 同上  

   

   

   ……

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   

   


--  作者:wyz20130512
--  发布时间:2018/1/14 12:20:00
--  

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


DataColChanged事件代码:

If Left(e.DataCol.Name,1) = "Y" Then
    Dim yx,lh,hg As Integer
    For Each dc As DataCol In e.DataTable.DataCols
        If Left(dc.Name,1) = "Y" Then
            Select Case e.DataRow(dc.Name)
                Case "优秀"
                    yx = yx + 1
                Case "良好"
                    lh = lh + 1
                Case "合格"
                    hg = hg + 1
            End Select
        End If
    Next
    e.DataRow("优秀") = yx
    e.DataRow("良好") = lh
    e.DataRow("合格") = hg
End If

--  作者:有点甜
--  发布时间:2018/1/14 18:18:00
--  

直接写公式也可以,如

 

iif(第一列=\'优秀\', 1, 0) + iif(第二列=\'优秀\', 1, 0)