ASP名次排列函数

时间:2008-07-20 13:42:00 

近日,朋友写一个关于成绩管理的系统,其中遇到一个小问题。如果按照SQLSERVER的ORDER 排序时,比如遇到两个100分,结果必然是名次不同的,但事实上,应该是并列第1名。于是,写了这个简单的函数,以备后用。欢迎批评!

严重感谢王军同学,我一直以为如果“100 80 80 70”中,70分就是第3名,80分并第二名的,今天才知道,原来70还是第4名,第三名空缺。主呀,请原谅我的无知吧,上学时从来没上过榜呀!再次谢谢!

用法:

getPlace(成绩字符串, 排名成绩, 分隔符)

返回结果为 lng 表示名次

例如 getPlace("30|72|84|100|100|68|72|49", "72", "|")

返回值为 第4名

Function getPlace(aSrc, sTra, sPli)
Dim j, i
Dim aTmp, temp, lPl

aTmp = Split(aSrc, sPli)
lPl = 1

For j = 0 To UBound(aTmp)
For i = j + 1 To UBound(aTmp)
If aTmp(j) < aTmp(i) Then
temp = aTmp(j)
aTmp(j) = aTmp(i)
aTmp(i) = temp
temp = Empty
End If
Next
Next

For i = 0 To UBound(aTmp)

If aTmp(i) = CLng(sTra) Then
getPlace = lPl
Exit For
Else
lPl = lPl + 1
End If
Next
End Function
标签:排名,函数,asp
0
投稿

猜你喜欢

  • 如何做一个计数器并让人家申请使用?

    2010-07-11 21:13:00
  • 轻松掌握怎样从Windows命令行启动MySQL

    2009-02-23 17:18:00
  • Oracle数据库的备份与恢复

    2010-07-28 12:52:00
  • 模仿IE自动完成功能

    2010-03-18 15:51:00
  • FrontPage XP设计教程2——网页的编辑

    2008-10-11 12:16:00
  • SQL Server 2008升级报表服务器数据库

    2008-11-18 12:36:00
  • 如何防止Application对象在多线程访问中出现错误?

    2009-11-22 19:18:00
  • jQuery 取得 background-position 的值

    2009-04-05 16:02:00
  • 优化次数过多的循环

    2009-11-12 12:35:00
  • 交互设计实用指南系列(6) –标签明晰、有效

    2010-01-21 12:39:00
  • 对学好网页设计很有价值的一句话

    2007-10-28 16:04:00
  • MySQL中的字符串模式匹配

    2010-03-09 16:30:00
  • asp如何同时处理数据库和页面错误?

    2010-06-07 20:58:00
  • 搞定MySQL数据库中文模糊检索问题

    2007-09-17 12:36:00
  • document.execCommand() 解析

    2007-11-13 17:22:00
  • 什么是响应式Web设计?怎样进行?

    2011-11-21 17:00:40
  • 像表格一样用DIV+CSS给网页布局

    2008-10-18 15:45:00
  • xhtml有哪些块级元素

    2009-12-06 11:58:00
  • Chrome和firefox使用比较测评

    2010-03-26 12:13:00
  • 用javascript给表格加滚动条

    2008-10-15 10:03:00
  • asp之家 网络编程 m.aspxhome.com