以文本方式查看主题

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

--  作者:nxdx112
--  发布时间:2018/10/17 8:14:00
--  统计个数
如何在同一行(第25列)中统计(3-23列)非空单元格中()的个数?
能实现吗?谢谢!


--  作者:y2287958
--  发布时间:2018/10/17 8:24:00
--  
循环一下就可以了
--  作者:有点甜
--  发布时间:2018/10/17 8:43:00
--  

方法一:

 

Dim t As Table = Tables("表A")
For i As Integer = 2 To 22
    msgbox(t.Cols(i).name)
Next

 

方法二:

 

Dim t As Table = Tables("表A")
For Each c As Col In t.Cols
    If c.name Like "*第*" Then
        msgbox(c.name)
    End If
Next

 


--  作者:nxdx112
--  发布时间:2018/10/17 9:49:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:01.bmp
图片点击可在新窗口打开查看
是统计第1周到第20周非空单元格的个数
[此贴子已经被作者于2018/10/17 9:53:31编辑过]

--  作者:nxdx112
--  发布时间:2018/10/17 9:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:01.bmp
图片点击可在新窗口打开查看
是统计第1周到第20周非空单元格的个数,在总次数中显示次数。
更好的是:能否实现:总分为3分,纪律,卫生,两操均分2分,在总数中统计总分。

--  作者:有点甜
--  发布时间:2018/10/17 9:57:00
--  

Dim t As Table = Tables("表A")

Dim r As Row = t.Current

Dim sum As Double = 0
For Each c As Col In t.Cols
    If c.name Like "*第*" Then
       
        If r(c.name) = "总分" Then sum += 3
       
        If r(c.name) = "卫生" OrElse r(c.name) = "纪律" OrElse r(c.name) = "两操" Then sum += 2
    End If
Next

r("总分") = sum


--  作者:nxdx112
--  发布时间:2018/10/17 10:08:00
--  
这样一次只能统计一行,能否批量一次处理选中的多行
能否用数据字典处理这样的问题?
[此贴子已经被作者于2018/10/17 10:10:54编辑过]

--  作者:有点甜
--  发布时间:2018/10/17 10:16:00
--  
Dim t As Table = Tables("表A")
For Each r As Row In t.Rows
    Dim sum As Double = 0
    For Each c As Col In t.Cols
        If c.name Like "*第*" Then
           
            If r(c.name) = "总分" Then sum += 3
           
            If r(c.name) = "卫生" OrElse r(c.name) = "纪律" OrElse r(c.name) = "两操" Then sum += 2
        End If
    Next
   
    r("总分") = sum
Next

--  作者:nxdx112
--  发布时间:2018/10/17 10:25:00
--  
谢谢