以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  发帖求助,如何找出每个年级的最低分  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26302)

--  作者:sgs
--  发布时间:2012/11/29 15:54:00
--  发帖求助,如何找出每个年级的最低分

项目如附件

问题:想找出每所学校各个年级的最低分,请高手指教!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目107.table


--  作者:lin_hailun
--  发布时间:2012/11/29 16:31:00
--  
 代码如下。

Dim prevClass As String = "一年级"
Dim min As Double = Double.MaxValue
For Each r As Row In Tables("Sheet3").Rows
    For Each c As Col In Tables("Sheet3").Cols
        If c.Name Like "?年级_*" Then
            If c.Name.SubString(0, 3) <> prevClass Then
                msgbox(r("学校") & " " & prevClass & " " & min)
                prevClass = c.Name.SubString(0, 3)
                min = Double.MaxValue
            Else
                If r(c.Name) < min Then min = r(c.Name)
            End If
        End If
    Next
Next

--  作者:sgs
--  发布时间:2012/11/29 16:46:00
--  
灰常感谢,假如第一个“一年级”不固定呢,还需要遍历吗
[此贴子已经被作者于2012-11-29 16:46:25编辑过]

--  作者:lin_hailun
--  发布时间:2012/11/29 16:52:00
--  
 你根据固定的规律弄一下吧,只能判断列名了。
--  作者:sgs
--  发布时间:2012/11/29 18:04:00
--  
滨海小学二年级的最低分应该是83.5,代码给出的是85
--  作者:lin_hailun
--  发布时间:2012/11/29 18:07:00
--  
 嗯嗯,是的,代码写错了。

Dim prevClass As String = "一年级"
Dim min As Double = Double.MaxValue
For Each r As Row In Tables("Sheet3").Rows
    For Each c As Col In Tables("Sheet3").Cols
        If c.Name Like "?年级_*" Then
            If c.Name.SubString(0, 3) <> prevClass Then
                msgbox(r("学校") & " " & prevClass & " " & min)
                prevClass = c.Name.SubString(0, 3)
                min = Double.MaxValue        
            End If
            If r(c.Name) < min Then min = r(c.Name)          
        End If
    Next
Next

--  作者:sgs
--  发布时间:2012/11/29 18:39:00
--  
如果要用drawcell标示出来,要怎么改呢,请帮忙看下
--  作者:lin_hailun
--  发布时间:2012/11/30 14:10:00
--  
 如下。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目107.table