以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动搜索  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49350)

--  作者:发财
--  发布时间:2014/4/16 15:57:00
--  自动搜索

Dim r As Table = Tables("成绩表")
For i As Integer = 0 To  r.Rows.Count -1
    Dim Sum1 As Double = r.rows(i)("评委1")
    Dim Sum2 As Double = r.rows(i)("评委2")
    Dim Sum3 As Double = r.rows(i)("评委3")
    Dim Sum4 As Double = r.rows(i)("评委4")
    Dim Sum5 As Double = r.rows(i)("评委5")
    Dim Sum6 As Double = r.rows(i)("评委6")
    Dim Sum7 As Double = r.rows(i)("评委7")
    Dim Sum8 As Double = r.rows(i)("评委8")
    Dim Sum9 As Double = r.rows(i)("评委9")
    Dim Sum10 As Double = r.rows(i)("评委10")
    Dim Sum11 As Double = r.rows(i)("评委11")
    Dim Sum12 As Double = r.rows(i)("评委12")
    Dim Sum13 As Double = r.rows(i)("评委13")
    Dim Sum14 As Double = r.rows(i)("评委14")
    Dim Sum15 As Double = r.rows(i)("评委15")
    Dim Sum16 As Double = r.rows(i)("评委16")
    r.Rows(i)("最大") = Functions.Execute("最大值",sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10,sum11,sum12,sum13,sum14,sum15,sum16)
    r.Rows(i)("最小") = Functions.Execute("最小值",sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10,sum11,sum12,sum13,sum14,sum15,sum16)
Next
上述代码应放在那里,才搜索最大值、最小值,我现在用命令按钮才生效,我希望输入16个评委的数据后能用上述代码自动搜索?


--  作者:Bin
--  发布时间:2014/4/16 16:00:00
--  
放到按钮里不就好了么.

需要需要判断空值

可以利用 r.rows(i).isnull("评委1") 来判断

--  作者:发财
--  发布时间:2014/4/16 16:47:00
--  
当评委只有10人时,就有6个空值,如何使这6个空值不参与最大、最小值搜索?
--  作者:Bin
--  发布时间:2014/4/16 16:49:00
--  
不要这样处理.改为传集合的方式..

dim 集合 as new list(of integer)

一个个判断一下不是空就ADD进去

Functions.Execute("最大值",集合)

--  作者:发财
--  发布时间:2014/4/16 17:16:00
--  

Dim r As Table = Tables("成绩表")
For i As Integer = 0 To  r.Rows.Count -1
    Dim Names As New List(Of String)
    If r.rows(i).isnull("评委1") = False Then
        Names.Add("评委1")
    End If
    If r.rows(i).isnull("评委2") = False Then
        Names.Add("评委2")
    End If
    If r.rows(i).isnull("评委3") = False Then
        Names.Add("评委3")
    End If
    If r.rows(i).isnull("评委4") = False Then
        Names.Add("评委4")
    End If
    If r.rows(i).isnull("评委5") = False Then
        Names.Add("评委5")
    End If
    If r.rows(i).isnull("评委6") = False Then
        Names.Add("评委6")
    End If
    If r.rows(i).isnull("评委7") = False Then
        Names.Add("评委7")
    End If
    If r.rows(i).isnull("评委8") = False Then
        Names.Add("评委8")
    End If
    If r.rows(i).isnull("评委9") = False Then
        Names.Add("评委9")
    End If
    If r.rows(i).isnull("评委10") = False Then
        Names.Add("评委10")
    End If
    If r.rows(i).isnull("评委11") = False Then
        Names.Add("评委11")
    End If
    If r.rows(i).isnull("评委12") = False Then
        Names.Add("评委12")
    End If
    If r.rows(i).isnull("评委13") = False Then
        Names.Add("评委13")
    End If
    If r.rows(i).isnull("评委14") = False Then
        Names.Add("评委14")
    End If
    If r.rows(i).isnull("评委15") = False Then
        Names.Add("评委15")
    End If
    If r.rows(i).isnull("评委16") = False Then
        Names.Add("评委16")
    End If  

    r.Rows(i)("最大") = Functions.Execute("最大值",names)
    r.Rows(i)("最小") = Functions.Execute("最小值",names)
Next
上述代码出错?


--  作者:Bin
--  发布时间:2014/4/16 17:17:00
--  
出什么错?
--  作者:发财
--  发布时间:2014/4/16 17:17:00
--  
错误提示:Argument \'Expression\' cannot be converted to type \'List(Of String)\'.

--  作者:Bin
--  发布时间:2014/4/16 17:18:00
--  
你内部函数没修改吧.
--  作者:Bin
--  发布时间:2014/4/16 17:18:00
--  
怎么这么久了,还处于盲目套用,完全不思考的阶段呢.

你上例子我帮你完成吧.

--  作者:发财
--  发布时间:2014/4/16 17:24:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:成绩排名.rar